AW: Seitenumbruch und Inhaltsverzeichniss
31.10.2008 13:37:16
fcs
Hallo Ernst,
die Verwaltung, das Setzen und die Prüfung von Seitenwechseln dauert in Excel unter VBA relativ lange.
Ich hab noch ein wenig rumprobiert, aber bei ca. 155 Seiten, 3500 Zeilen in der Tabelle hat die Ausführung bei mir ca. 7 bis 8 Minuten gedauert.
Falls in deinen Tabellen noch irgendwelche Berechnungen oder Ereignismakros laufen, dann sollten diese während der Makro-Ausführung deaktiviert werden.
Dazu muss du die Hauptprozedur wie folgt anpassen.
Sub Seitenwechsel()
Dim wks As Worksheet
Dim lngZeilenUe As Long
Set wks = Worksheets("KBL")
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
With wks
'Druckbereich setzen (Spalten A bis I, Zeile 1 bis letzte Zeile in Überschriften-Spalte _
+ 2 Leerzeilen)
Call Druckbereich(wks:=wks, spalte1:=1, spalteL:=9, zeile1:=1, _
zeileL:=.Cells(.Rows.Count, SpalteTitel).End(xlUp).Row + 2)
'Überschriften markieren
Call MarkierenUeberschriften(wks)
'Anzahl Überschriften
lngZeilenUe = Application.WorksheetFunction.CountIf(.Columns(SpalteUe), "ü")
If lngZeilenUe = 0 Then
MsgBox "keine Zeile mit ""ü"" für Überschriften gefunden!"
GoTo Beenden
End If
Application.ScreenUpdating = False
Call Seitenwechsel_setzen(wks, lngZeilenUe)
End With
Application.ScreenUpdating = True
If MsgBox("Seitenwechsel Fertig" & vbLf & vbLf & "Inhaltsverzeichnis jetzt erstellen?", _
vbYesNo + vbQuestion, "Inhaltsverzeichnis erstellen") = vbYes Then
Call Inhalt
End If
Beenden:
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
End Sub
Gruß
Franz