Apostroph bei SAP>Excel- Import entfernen

19/09/2007 - 09:20 von Holger Dander | Report spam
Hallo User,
ich habe folgendes "simples" Problem, komme aber alleine nicht auf eine
gescheite Lösung.

Beim Export aus SAP werden Daten in Excel immer mit " '2000 " ausgegeben. Um
damit weiter rechnen zu können, muss das Apostroph am Anfang gelöscht werden
und die Zelle so "...in eine Zahl umgewandelt" werden.

Ich hab da ein Userform generiert, der eine Abfrage nach zu bearbeitenden
Zeilen und Spalten startet. Im Anschluss werden diese Zeilen durchforstet.

Mein Problem:
1) Es werden auf einmal auch Kommazahlen -ohne Apostroph- ( bsp. 20,10)
umgewandelt, so dass das Zahlenformat daraus genommen wird
2) Ich würde lieber generell alle Eintràge in einer Arbeitsmappe unabhàngig
einer Eingabe prüfen und korrigieren lassen.

Nachfolgend erstmal mein Code und jetzt schon DANK für die Hilfe!

Schöne Grüße
Holger


Private Sub CommandButton1_Click()
Dim k, j, i, l

j = Me.TextBox1
l = Me.TextBox2

If l > 50 Then MsgBox "Bitte beachten Sie, dass aufgrund der
Verarbeitungszeit" & vbNewLine & _
"eine maximale Spaltenanzahl von 50 existiert."


For k = 1 To j

Cells(k, 1) = Left(Cells(k, 1), Len(Cells(k, 1)))

If l > 1 Then Cells(k, 2) = Left(Cells(k, 2), Len(Cells(k, 2)))
If l > 2 Then Cells(k, 3) = Left(Cells(k, 3), Len(Cells(k, 3)))
If l > 3 Then Cells(k, 4) = Left(Cells(k, 4), Len(Cells(k, 4)))
If l > 4 Then Cells(k, 5) = Left(Cells(k, 5), Len(Cells(k, 5)))
If l > 5 Then Cells(k, 6) = Left(Cells(k, 6), Len(Cells(k, 6)))
If l > 6 Then Cells(k, 7) = Left(Cells(k, 7), Len(Cells(k, 7)))
If l > 7 Then Cells(k, 8) = Left(Cells(k, 8), Len(Cells(k, 8)))
If l > 8 Then Cells(k, 9) = Left(Cells(k, 9), Len(Cells(k, 9)))
If l > 9 Then Cells(k, 10) = Left(Cells(k, 10), Len(Cells(k, 10)))
If l > 10 Then Cells(k, 11) = Left(Cells(k, 11), Len(Cells(k, 11)))
If l > 11 Then Cells(k, 12) = Left(Cells(k, 12), Len(Cells(k, 12)))
If l > 12 Then Cells(k, 13) = Left(Cells(k, 13), Len(Cells(k, 13)))
If l > 13 Then Cells(k, 14) = Left(Cells(k, 14), Len(Cells(k, 14)))
If l > 14 Then Cells(k, 15) = Left(Cells(k, 15), Len(Cells(k, 15)))
If l > 15 Then Cells(k, 16) = Left(Cells(k, 16), Len(Cells(k, 16)))
If l > 16 Then Cells(k, 17) = Left(Cells(k, 17), Len(Cells(k, 17)))
If l > 17 Then Cells(k, 18) = Left(Cells(k, 18), Len(Cells(k, 18)))
If l > 18 Then Cells(k, 19) = Left(Cells(k, 19), Len(Cells(k, 19)))
If l > 19 Then Cells(k, 20) = Left(Cells(k, 20), Len(Cells(k, 20)))
If l > 20 Then Cells(k, 21) = Left(Cells(k, 21), Len(Cells(k, 21)))
If l > 21 Then Cells(k, 22) = Left(Cells(k, 22), Len(Cells(k, 22)))
If l > 22 Then Cells(k, 23) = Left(Cells(k, 23), Len(Cells(k, 23)))
If l > 23 Then Cells(k, 24) = Left(Cells(k, 24), Len(Cells(k, 24)))
If l > 24 Then Cells(k, 25) = Left(Cells(k, 25), Len(Cells(k, 25)))
If l > 25 Then Cells(k, 26) = Left(Cells(k, 26), Len(Cells(k, 26)))
If l > 26 Then Cells(k, 27) = Left(Cells(k, 27), Len(Cells(k, 27)))
If l > 27 Then Cells(k, 28) = Left(Cells(k, 28), Len(Cells(k, 28)))
If l > 28 Then Cells(k, 29) = Left(Cells(k, 29), Len(Cells(k, 29)))
If l > 29 Then Cells(k, 30) = Left(Cells(k, 30), Len(Cells(k, 30)))
If l > 30 Then Cells(k, 31) = Left(Cells(k, 31), Len(Cells(k, 31)))
If l > 31 Then Cells(k, 32) = Left(Cells(k, 32), Len(Cells(k, 32)))
If l > 32 Then Cells(k, 33) = Left(Cells(k, 33), Len(Cells(k, 33)))
If l > 33 Then Cells(k, 34) = Left(Cells(k, 34), Len(Cells(k, 34)))
If l > 34 Then Cells(k, 35) = Left(Cells(k, 35), Len(Cells(k, 35)))
If l > 35 Then Cells(k, 36) = Left(Cells(k, 36), Len(Cells(k, 36)))
If l > 36 Then Cells(k, 37) = Left(Cells(k, 37), Len(Cells(k, 37)))
If l > 37 Then Cells(k, 38) = Left(Cells(k, 38), Len(Cells(k, 38)))
If l > 38 Then Cells(k, 39) = Left(Cells(k, 39), Len(Cells(k, 39)))
If l > 39 Then Cells(k, 40) = Left(Cells(k, 40), Len(Cells(k, 40)))
If l > 40 Then Cells(k, 41) = Left(Cells(k, 41), Len(Cells(k, 41)))
If l > 41 Then Cells(k, 42) = Left(Cells(k, 42), Len(Cells(k, 42)))
If l > 42 Then Cells(k, 43) = Left(Cells(k, 43), Len(Cells(k, 43)))
If l > 43 Then Cells(k, 44) = Left(Cells(k, 44), Len(Cells(k, 44)))
If l > 44 Then Cells(k, 45) = Left(Cells(k, 45), Len(Cells(k, 45)))
If l > 45 Then Cells(k, 46) = Left(Cells(k, 46), Len(Cells(k, 46)))
If l > 46 Then Cells(k, 47) = Left(Cells(k, 47), Len(Cells(k, 47)))
If l > 47 Then Cells(k, 48) = Left(Cells(k, 48), Len(Cells(k, 48)))
If l > 48 Then Cells(k, 49) = Left(Cells(k, 49), Len(Cells(k, 49)))
If l > 49 Then Cells(k, 50) = Left(Cells(k, 50), Len(Cells(k, 50)))
If l > 50 Then Cells(k, 51) = Left(Cells(k, 51), Len(Cells(k, 51)))
Next k

Me.Hide
End Sub
 

Lesen sie die antworten

#1 stefan onken
19/09/2007 - 10:26 | Warnen spam
On 19 Sep., 09:20, Holger Dander
wrote:
Hallo User,
ich habe folgendes "simples" Problem, komme aber alleine nicht auf eine
gescheite Lösung.

Beim Export aus SAP werden Daten in Excel immer mit " '2000 " ausgegeben. Um
damit weiter rechnen zu können, muss das Apostroph am Anfang gelöscht werden
und die Zelle so "...in eine Zahl umgewandelt" werden.

Ich hab da ein Userform generiert, der eine Abfrage nach zu bearbeitenden
Zeilen und Spalten startet. Im Anschluss werden diese Zeilen durchforstet.

Mein Problem:
1) Es werden auf einmal auch Kommazahlen -ohne Apostroph- ( bsp. 20,10)
umgewandelt, so dass das Zahlenformat daraus genommen wird
2) Ich würde lieber generell alle Eintràge in einer Arbeitsmappe unabhàngig
einer Eingabe prüfen und korrigieren lassen.

Nachfolgend erstmal mein Code und jetzt schon DANK für die Hilfe!

Schöne Grüße
Holger




hallo Holger, probier mal das entfernen desr Apostrophe auf diese Art:
Range("A1:C100").Value = Range("A1:C100").Value
bzw angepasst an deinen Code
Range(Cells(1, 1), Cells(j, l)).Value = Range(Cells(1, 1), Cells(j,
l)).Value

ich hoffe, ich habe l und j richtig eingesetzt. Verwende besser
deutliche Variablennamen, etwa AnzahlSpalten oder sowas.

Gruß
stefan

Ähnliche fragen