nochmal ne Frage zu Replace...ich hab ne Excel-Datei mit 31 Blättern. Sie ist 10 MB groß und enthält sowohl Einzeldaten als auch Formeln.
Ich muss eigentlich zwei relativ simple Ersetzungen an Formeln vornehmen.
Mache ich das manuell (Ersetzen, Gesamte Arbeitsmappe) so geht das innerhalb von 4 Sekunden (beide).
Mach ichs jedoch per VBA ist er 3 Minuten beschäftigt. Da per VBA nicht die gesamte Mappe auf einmal verarbeitet werden kann, gehe ich so vor:
Private Sub ReplaceCompleteWorkbook(strFileName As String, strWhat As String, strReplacement As _
_
String)
Dim i As Integer
With Workbooks(strFileName)
For i = 1 To .Worksheets.Count
.Worksheets(i).Cells.Replace What:=strWhat, Replacement:=strReplacement, LookAt:=xlPart, _
_
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Next i
End With
End Sub
Hat jemand einen Ansatz?
Ach ja, ich hab im Aufruf-Makro vorher noch "Application.Calculation = xlManual" stehen, damit nix berechnet wird.
Es macht auch keinen Unterschied ob ich ScreenUpdating aktiviert habe oder nicht. Ebenso ob die zu ersetzende Mappe oder das Blatt aktiv ist oder eine ganz andere Mappe. Ebenso ob Events enabled oder disabled sind (in der Mappe sind keine Events vorhanden).
LG
Sabine