Formatänderung Text_Zahl
19.06.2009 10:32:48
Dieter
Ich habe ein Problem mit der Umformatierung eines SAP-Downloads über ein Excel-Makro.
Grundsätzlich ändert das Makro die Zellenformate in "Zahl" und multipliziert die Werte anschließend mit dem Faktor 1. Dadurch kann ich in fast allen Fällen das gewünschte Ergebnis erzielen. Lediglich in den Spalten, in denen aus der Ursprungsdatei "Kommazahlen" (also z.B. 51,008 - Spalten K und M-R) konvertiert werden sollen funktioniert das nicht. Hier werden die meisten Werte gar nicht verändert und andere mit dem Faktor 1.000 multipliziert. "Von Hand", wenn ich das Makro an der entsprechenden Stelle unterbreche, geht alles reibungslos.
Wer kann mir hier helfen?
Gruß
Dieter
Public Sub Formartieren()
Dim b As Long
' ***Zeilen zählen/Farbe/1 setzen***
b = ActiveSheet.UsedRange.Rows.Count
Range("A2:R" & b + 1 & "").Select
Selection.Interior.ColorIndex = xlNone
Range("A" & b + 1 & "").Select
ActiveCell.FormulaR1C1 = "1"
' *********A-D formartieren*********
Range("A1:D" & b & "").Select
Selection.NumberFormat = "0"
Range("A" & b + 1 & "").Select
Selection.Copy
Range("A2:D" & b & "").Select
Range("A2:D" & b & "").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
' *********G-I formartieren*********
Range("g1:i" & b & "").Select
Selection.NumberFormat = "0"
Range("A" & b + 1 & "").Select
Selection.Copy
Range("g2:i" & b & "").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
' *********M-R formartieren*********
Range("m1:r" & b & "").Select
Selection.NumberFormat = "0.00"
Range("A" & b + 1 & "").Select
Selection.Copy
Range("m2:r" & b & "").Select
Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:= _
xlMultiply, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
' *********K formartieren*********
Range("k1:k" & b & "").Select
Selection.NumberFormat = "0.00"
Range("A" & b + 1 & "").Select
Selection.Copy
Range("K2:k" & b & "").Select
Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:= _
xlMultiply, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub