Gerade mal getestet:
500.000(!) Zellen mit 2 Großbuchstaben.
Wer es testen möchte:
Füllmakro:
Ersetzen findet (bei mir) 91.217 Fundstellen und ersetzt sie in 2,7 Sekunden.
Ist selbst auf meiner älteren Möhre weit davon entfernt, dass die CPU heiß läuft …
Stellt sich jetzt die Frage, was Du falsch machst!
Wenn ich mein Ersetzen-Makro jetzt nochmal über die bereits bereinigte Spalte laufen lasse, braucht der PC 0,2 Sekunden.
Heißt dass das Suchen extrem flott geht, das Ersetzen (bedingt durch die vielen Zellzugriffe) etwas ausbremst.
Aber weil Du ja über Java dozierst.
Auch das kann VBA schneller.
schafft es in 1,2 Sekunden.
Und jetzt Du!
500.000(!) Zellen mit 2 Großbuchstaben.
Wer es testen möchte:
Füllmakro:
Code:
Sub Fill_It()
With Range("A2:A500001")
.Formula = "=CHAR(RANDBETWEEN(65,75))&CHAR(RANDBETWEEN(65,75))"
.Copy: .PasteSpecial xlPasteValues
Application.Goto .Cells(1)
Application.CutCopyMode = False
End With
End Sub
Ersetzen findet (bei mir) 91.217 Fundstellen und ersetzt sie in 2,7 Sekunden.
Ist selbst auf meiner älteren Möhre weit davon entfernt, dass die CPU heiß läuft …
Code:
Sub Ersetzen()
Dim Start#
Start = Timer
Range("A2:A500001").Replace "A", "Z", xlPart
Debug.Print Timer - Start
End Sub
Wenn ich mein Ersetzen-Makro jetzt nochmal über die bereits bereinigte Spalte laufen lasse, braucht der PC 0,2 Sekunden.
Heißt dass das Suchen extrem flott geht, das Ersetzen (bedingt durch die vielen Zellzugriffe) etwas ausbremst.
Aber weil Du ja über Java dozierst.
Auch das kann VBA schneller.
Code:
Sub arrReplace()
Dim Start#, arr, i&
Start = Timer
With Range("A2:A500001")
arr = .Value
For i = 1 To 500000
arr(i, 1) = Replace(arr(i, 1), "A", "Z")
Next
.Value = arr
End With
Debug.Print Timer - Start
End Sub
schafft es in 1,2 Sekunden.
Und jetzt Du!