Herbers Excel-Forum - das Archiv

2. Makro Ausführung nicht möglich (CPU Ausl 100%)

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: 2. Makro Ausführung nicht möglich (CPU Ausl 100%)
von: Gesa S.

Geschrieben am: 19.12.2006 13:50:03
Hallo,
habe nachfolgendes Makro in der beigefügten Datei eingefügt.
Sub Druck_Neu()
Dim iRowL As Integer, iRow As Integer
Application.ScreenUpdating = False
Application.EnableEvents = False
iRowL = Cells(Rows.Count, 19).End(xlUp).Row
For iRow = 1 To iRowL
If IsEmpty(Cells(iRow, 19)) Or Cells(iRow, 19).Value = 0 Then
Rows(iRow).Hidden = True
End If
Next iRow
ActiveSheet.PrintPreview
Rows.Hidden = False
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

Läuft beim ersten mal auch super. Wenn ich aber die Seitenvorschau
beende und das Makro zum 2. Mal durchführen möchte, stürzt Excel
ab bzw. wenn ich lange genug warte wird es durchgeführt. Gibt es eine Möglichkeit das ganze auch bei der 2. Ausführung in einer normalen
Geschwindigkeit durchzuführen (wie gesagt, bei der ersten Durchführung
wird die Seitenvorschau innerhalb Sekunden gestartet).
Vielleicht habe ich in der Einstellung etwas falsch?
Vielen Dank für eure Bemühungen im voraus.
und schöne Grüße
Gesa S.
Dateiupload: https://www.herber.de/bbs/user/39107.xls
Bild

Betrifft: AW: 2. Makro Ausführung nicht möglich (CPU Ausl 100%)
von: Oberschlumpf

Geschrieben am: 19.12.2006 14:25:44
Hi Gesa
Versuch mal dieses:
1. Klick auf Extras/Optionen/Ansicht
2. Dann unter Fensteroptionen den Haken für Seitumbruch raus nehmen.
Als ich dein Makro das 2. Nal testete, dauerte es auch bei mir sehr lang, bis das Makro fertig war.
Nach dem ich Schritt 1 + 2 durchführte, läuft dein Makro nun immer sehr schnell durch - egal, wie oft ich das Makro starte.
Konnte ich helfen?
Ciao
Thorsten
Bild

Betrifft: AW: 2. Makro Ausführung nicht möglich (CPU Ausl 100%)
von: Gesa S.
Geschrieben am: 19.12.2006 14:49:06
Hallo Thorsten,
danke für die Hilfe, aber diese Einstellung
ist bei mir schon so...ändert sich also nichts..
Ciao
Gesa S.
Bild

Betrifft: AW: 2. Makro Ausführung nicht möglich (CPU Ausl 100%)
von: Rudi Maintaire

Geschrieben am: 19.12.2006 15:40:54
Hallo,
Sub Druck_Neu()
Dim iRowL As Integer, iRow As Integer
Application.ScreenUpdating = False
Application.EnableEvents = False
ActiveSheet.DisplayPageBreaks = False
iRowL = Cells(Rows.Count, 1).End(xlUp).Row
For iRow = 1 To iRowL
Rows(iRow).Hidden = (IsEmpty(Cells(iRow, 1)) Or Cells(iRow, 1).Value = 0)
Next iRow
ActiveSheet.PrintPreview
Rows.Hidden = False
ActiveSheet.DisplayPageBreaks = True
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
Bild

Betrifft: AW: 2. Makro Ausführung nicht möglich (CPU Ausl 100%)
von: Gesa S.

Geschrieben am: 20.12.2006 08:15:59
Hallo Rudi,
vielen Dank für die Antwort.
Möchte das Makro gerne mit 3 Kategorien anlegen, d. H. 3mal anlegen mit 3 Schaltflächen.
Könntest Du mir das Makro vielleicht etwas näher erläutern in Bezug auf:
Makro 1: Drucke nur Zeilen wenn in Spalte R = 1 ?
Makro 2: Drucke nur Zeilen wenn in Spalte R = 2 ?
Makro 3: Drucke nur Zeilen wenn in Spalte R = 2 ?
Vielen lieben Dank
Gesa S.
Bild

Betrifft: AW: 2. Makro Ausführung nicht möglich (CPU Ausl 100%)
von: Rudi Maintaire

Geschrieben am: 20.12.2006 09:16:06
Hallo,
das brauchst du nicht 3x zu schreiben. Das Kriterium kannst du übergeben.
Private Sub CommandButton1_Click()
Call Druck_Neu(1)
End Sub
Private Sub CommandButton2_Click()
Call Druck_Neu(2)
End Sub
Private Sub CommandButton3_Click()
Call Druck_Neu(3)
End Sub

' In ein Modul:
Sub Druck_Neu(iWert As Integer)
Dim iRowL As Integer, iRow As Integer
Application.ScreenUpdating = False
Application.EnableEvents = False
ActiveSheet.DisplayPageBreaks = False
iRowL = Cells(Rows.Count, 1).End(xlUp).Row  'Spalte A als Index-Spalte
For iRow = 1 To iRowL
Rows(iRow).Hidden = Cells(iRow, 18).Value <> iWert  'Zeile ausblenden wenn in R nicht iWert steht
Next iRow
ActiveSheet.PrintPreview
Rows.Hidden = False
ActiveSheet.DisplayPageBreaks = True
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
Bild

Betrifft: AW: 2. Makro Ausführung nicht möglich (CPU Ausl 100%)
von: Gesa S.

Geschrieben am: 20.12.2006 09:28:58
Hallo,
vielen Dank - jetzt habe ich es verstanden.
Jetzt klappt es super.
Wünsch schöne Weihnachten :-)
Gesa S.
 Bild