ich habe die Entwicklertools aktiviert, bin auf Makros gegangen und habe deinen Code zwischen Sub s()
End Sub eingefügt. Wenn ich dann auf Run klicke kommt die Fehlermeldung: Fehler beim Kompilieren: Syntaxfehler aber vielleicht bin ich einfach auch zu dumm um den Code auszuführen.....
das ist der Code, der bei mir gelaufen ist (der erste war abgetippt)
Code:
Sub T_1() Ar = Cells(1).CurrentRegion For i = 2 To UBound(Ar) For j = 1 To UBound(Ar, 2) If InStr(1, Ar(i, j), ",") > 0 Then Cells(i, j).Interior.Color = vbGreen 'Debug.Print Ar(i, j) Next j Next i End Sub
Danach sollten alle "falschen" Zahlen grün formatiert sein. Die Laufzeit sollte ca 10 Sekunden betragen. Nach 2 Minute kannst Du abbrechen.
in der Beispielmappe wandelt der Code ALLE Zahlen ins richtige deutsche Zahlenformat:
Code:
Sub F_en() Ar = Cells(1).CurrentRegion For i = 2 To UBound(Ar) For j = 1 To UBound(Ar, 2) If InStr(1, Ar(i, j), ",") > 0 Then Cells(i, j).Interior.Color = vbGreen Fc = Int(Log(Ar(i, j)) / Log(10)) Cells(i, j) = Ar(i, j) / 10 ^ Fc Cells(i, j).NumberFormat = "General" End If Next j Next i With ActiveSheet.UsedRange .Value = .Value End With End Sub
Bei deiner großen Tabelle wird der letzteBefehl relativ lange dauern (1-2 Minuten?)