ich habe ein performance Problem und zwar dauert eine Schleife im VBA Excel 2010 (32bit) bei mir ziemlich lang. Vieleicht könnt ihr mir helfen diese in eine bessere Form zu bekommen, über Array oder eine spezielle Funktion...
Ich durchlaufe ein FOR Schleife mit einer IF Abfrage. Die FOR Schleife läuft die Komplette Spalte A bis zu den Ende mit befüllten Zeilen bei ca. Zeile 800.000. Ich möchte aus jeder Zelle die "einzelnen Zeichen" löschen (nicht übernehmen) die nicht schwarze Farbe als Eigenschaft haben.
In einer Zelle sind zwischen 50 bis 100 Zeichen bei 800.000 Zeilen sind dies eine Menge Schleifen läufe :( .
Hier der Code:
Sub FontEigenschaften_Zeichenfolge()
Dim Temp1_str, Temp2_str As String
Dim L, i, x, letzteZeile_lng as String
letzteZeile_lng = 10000 'Zum testen reduziert
Sheets(1).Select
For i = 1 To letzteZeile_lng
Temp1_str = ""
Temp2_str = ""
Temp2_str = Sheets(1).Cells(i, 1).Value
x = Len(Temp2_str)
Temp1_str = Sheets(1).Cells(i, 1).Value
Temp2_str = ""
For L = 1 To x
If Sheets(1).Cells(i, 1).Characters(L, 1).Font.ColorIndex 2 Then
Temp2_str = Temp2_str & Mid(Temp1_str, L, 1)
End If
Next L
Sheets(1).Cells(i, 1).Value = Temp2_str
Next i
End Sub