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?)