folgendes Problem:
Für eine Excel-Anwendung habe ich eine kleine Druckroutine erstellt.
Leider verhält sich Excel nach Abarbeitung der Procedure auf zwei verschiedenen Rechnern unterschiedlich. (gleiche Excel-Version 2003 SP2, gleiches Betriebssystem XP und beide Rechner haben 1GB Speicher)
Auf dem einen Rechner läuft Excel einwandfrei weiter. Auf einem anderen Rechner wird die CPU nach Arbeitung so hoch ausgelastet, das der Bildschirminhalt nur noch sehr schleppend scrollt.
Da dieses Phänomen nur nach Aufruf der Druckroutine erscheint, vermute ich, das irgendetwas an dem Code nicht stimmt, kann aber keinen Fehler finden.
Kann jemand helfen?
Gruß
Bernd
Hier der Code für das Formular:
Private Sub btn_OK_Click()
'Formular verbergen
frm_Ausdruck.Hide
'Ausgewählten Drucker auslesen
Application.ActivePrinter = cmb_printer.Text
' Die Abarbeitung ausblenden
Application.ScreenUpdating = False
' Optionsbutton auswerten
If OptionButton1.Value = True Then
' Angebot und Kalkulation ausdrucken
AngebotAusdrucken
KalkulationAusdrucken
End If
If OptionButton2.Value = True Then
' Nur Angebot ausdrucken
AngebotAusdrucken
End If
If OptionButton3.Value = True Then
' Nur Kalkulation ausdrucken
KalkulationAusdrucken
End If
' Die Abarbeitung wieder anzeigen
Application.ScreenUpdating = True
' Formular entladen
Unload frm_Ausdruck
End Sub
und eine der Druckprocedures:
Sub AngebotAusdrucken()
' Druckbereich festlegen und Seite auf A4 einrichten
ActiveSheet.PageSetup.PrintArea = "$A:$F"
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.LeftMargin = Application.InchesToPoints(0.99)
.RightMargin = Application.InchesToPoints(0.3)
.LeftHeader = ""
.RightHeader = "&G"
.LeftFooter = "&G"
.RightFooter = "&P/&N"
.Orientation = xlPortrait
.PaperSize = xlPaperA4
.PrintGridlines = False
.Zoom = 100
.FitToPagesWide = False
.FitToPagesTall = False
End With
' Alles drucken
If frm_Ausdruck.OptionButton4.Value = True Then
ActiveWindow.SelectedSheets.PrintOut Copies:=frm_Ausdruck.txt_AnzahlKopien.Text, Collate:=True
' Einzelseiten drucken
Else
ActiveWindow.SelectedSheets.PrintOut From:=frm_Ausdruck.txt_SeiteVon.Text, To:=frm_Ausdruck.txt_SeiteBis.Text, Copies:=frm_Ausdruck.txt_AnzahlKopien.Text, Collate:=True
End If
End Sub