Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
688to692
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
688to692
688to692
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

BeforePrint - Fehler

BeforePrint - Fehler
01.11.2005 13:32:05
Thomas
Hallo Zusammen
Mit BeforePrint veranlasse ich Excel erst dazu, einige Formatierungen vorzunehmen, ein Blatt auszublenden, danach wieder alles Rückgängig machen.
Das ganze funktioniert so:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Static wirklichDrucken As Boolean   'Semaphore
Dim wks1 As Worksheet, wks2 As Worksheet
If Not wirklichDrucken Then
Cancel = True
wirklichDrucken = True
Application.ScreenUpdating = False
Call VorDruck
ThisWorkbook.PrintOut
Call NachDruck
Else
wirklichDrucken = False
End If
Application.ScreenUpdating = True
End Sub

Sub VorDruck()
Dim wks1 As Worksheet, wks2 As Worksheet
Set wks1 = Worksheets("Zusammenfassung")
Set wks2 = Worksheets("Abrechnung")
'Zellenfarbe entfernen
wks1.Range("F12:I15").Interior.ColorIndex = xlNone
wks1.Range("B21").Interior.ColorIndex = xlNone
wks1.Range("B22:D22").Interior.ColorIndex = xlNone
wks1.Range("H21:H22").Interior.ColorIndex = xlNone
wks1.Range("G23").Interior.ColorIndex = xlNone
wks1.Range("A42").Interior.ColorIndex = xlNone
wks1.Range("B45:B46").Interior.ColorIndex = xlNone
wks2.Range("C6:C9").Interior.ColorIndex = xlNone
wks2.Range("C11").Interior.ColorIndex = xlNone
Worksheets("Hilfe").Visible = False
End Sub
Sub NachDruck()
Dim wks1 As Worksheet, wks2 As Worksheet
Set wks1 = Worksheets("Zusammenfassung")
Set wks2 = Worksheets("Abrechnung")
' 'Zellenfarbe setzen
With wks1.Range("F12:I15").Interior
.ColorIndex = 36
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
With wks1.Range("B21").Interior
.ColorIndex = 36
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
With wks1.Range("B22:D22").Interior
.ColorIndex = 36
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
With wks1.Range("H21:H22").Interior
.ColorIndex = 36
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
With wks1.Range("G23").Interior
.ColorIndex = 36
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
With wks1.Range("A42").Interior
.ColorIndex = 36
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
With wks1.Range("B45:B46").Interior
.ColorIndex = 36
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
With wks2.Range("C6:C9").Interior
.ColorIndex = 36
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
With wks2.Range("C11").Interior
.ColorIndex = 36
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
Worksheets("Hilfe").Visible = True
End Sub
Funzt auch sehr gut ! ABER:
Ein findiger User hat unter Seitenansicht auf Drucken.. gecklickt. Nun ruft Excel natürlich nochmal BeforePrint auf und somit verhadert sich Excel. Wie kann ich das Problem umgehen?
Danke
Liebe Grüsse
Thomas

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: BeforePrint - Fehler
01.11.2005 14:36:09
Peter
Hallo Thomas,
du kannst natürlich deinen Anwendern die Menüpunkte 'Seitenansicht' wegnehmen - auf UNSICHTBAR setzten. Nicht nur unter Datei - Seitenansicht, sondern auch in der zweiten Menüzeile.
Versuch es mal, vielleicht genügt das.
die beiden Makros machen das


Sub Ausblenden()
   CommandBars(1).Controls("Datei").Controls("Seitenansicht").Visible = False
   CommandBars(3).Controls("Seitenansicht").Visible = False
End Sub
Sub Einblenden()
   CommandBars(1).Controls("Datei").Controls("Seitenansicht").Visible = True
   CommandBars(3).Controls("Seitenansicht").Visible = True
End Sub


Viele Grüße Peter
Das Forum lebt auch von den Rückmeldungen.
Anzeige
AW: BeforePrint - Fehler
01.11.2005 18:03:30
Thomas
Hallo Peter
Die will ich doch gar nicht ausblenden. In der Seitenansicht gibts ne Schlatfläche "Drucken..". Wenn nochmals darauf gecklickt wird, dann gibts ein durcheinander.
Brauche also eine andere Lösung.
Danke

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige