Langsames Makro
23.01.2008 16:58:00
Steve
Ich habe ein Makro, welches aus einer Excel-Datei mit 365 Registerblättern Daten exportiert. Pro Registerblatt sind 96 Zeilen zu bearbeiten.
Dafür habe ich zwei Schleifen, welche die Werte aus den Registern übernehmen und in ein Exportregister übertragen. Danach wird exportiert.
Ich habe schon einige Exportdateien (die sind in 10min fertig), aber hier braucht Excel bei CPU-Volllast >5 Stunden, um die 365 Dateien zu erstellen. Also muß irgendwo in der Schleife die Bremse liegen.
Irgendeine Idee warum das so langsam läuft?
---------------
Private Sub CommandButton2_Click()
Dim i&, j&
Pfad_Export = ActiveSheet.Cells(11, 3)
'Dateiwechselanzeige unterbinden
Application.ScreenUpdating = False
For i = 1 To 365 'jeden Tag
For j = 1 To 96 'jedes Zeitintervall
ThisWorkbook.Sheets("Summe").Cells(j, 1) = ThisWorkbook.Sheets("" & i & "").Cells(j + 16, 9) + _
_
ThisWorkbook.Sheets("" & i & "").Cells(j + 16, 11) + _
_
ThisWorkbook.Sheets("" & i & "").Cells(j + 16, 12) + _
_
ThisWorkbook.Sheets("" & i & "").Cells(j + 16, 13) + _
_
ThisWorkbook.Sheets("" & i & "").Cells(j + 16, 15) + _
_
ThisWorkbook.Sheets("" & i & "").Cells(j + 16, 16) + _
_
ThisWorkbook.Sheets("" & i & "").Cells(j + 128, 7)
ThisWorkbook.Sheets("Summe").Cells(j + 96, 1) = ThisWorkbook.Sheets("" & i & "").Cells(j + 16, _
14)
Next j
'r_ga_val-Register in neue Exceldatei öffnen
ThisWorkbook.Sheets("r_ga_val").Copy
'Datei exportieren in PRN Format
ActiveWorkbook.Sheets(1).SaveAs Filename:= _
Pfad_Export & i & ".dat", FileFormat:= _
xlTextPrinter, CreateBackup:=False
Application.DisplayAlerts = False
ActiveWorkbook.Close 'Datei schließen
Application.DisplayAlerts = True
Next i
Application.ScreenUpdating = True
End Sub