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

allegeime Druckeinstellung fürs Workbook

allegeime Druckeinstellung fürs Workbook
01.02.2006 15:31:43
Korl
Hallo,
ich habe jetzt bevor ich hier schreibe in der Recherche gewühlt nun nicht das passende für mich finden können.
Ich möchte in meinem Workbook erreichen, wenn ich einen Ausdruck tätigen möchte, stets die Dinge vorher und nachher ausgeführt werden die im nachfolgenden Code stehen.
Sub drucken()
Set wksA = ActiveSheet
lLetzteA = IIf(wksA.Range("A65536")  "", 65536, wksA.Range("A65536").End(xlUp).Row)
Application.ScreenUpdating = False
With wksA.PageSetup
    .PrintArea = "B1:E" & lLetzteA + 9
    .PrintTitleRows = "$1:$1"
    .PrintTitleColumns = ""
    .LeftMargin = Application.InchesToPoints(0.984251968503937)
    .RightMargin = Application.InchesToPoints(0.393700787401575)
    .Zoom = 100
End With
Call Rahmen_setzen_gestrichelt
Call Erläuterung
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Call Rahmen_entfernen
Call Erläuterung_entfernen
Application.ScreenUpdating = True
End Sub
Bislang habe ich es mit einer Tastenkombinat ausführen lassen.
Ich weis nicht wie ich die Ereignissprozedur in "diese Arbeitsmappe" hinbekomme.
Kann mir bitte jemand helfen, wie ich das Ereignis definieren muß ?
Gruß Korl

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: allegeime Druckeinstellung fürs Workbook
01.02.2006 15:37:29
Reinhard
Hi Korl,
Doppelklick auf "DieseArbeitsmappe":

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Call drucken
End Sub

Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen.
AW: allegeime Druckeinstellung fürs Workbook
01.02.2006 15:49:20
Korl
Hallo Reinhard,
Danke für Deine schnelle Antwort. Ich hatte diese Variante schon versucht.
In meinen Code lasse ich vor dem drucken noch Rahmen setzen und am Ende der Tabelle
setze ich ein Shapes.
Nun tritt folgendes auf:
Einmal wird gedruckt mit Rahmen setzen und leider ohne das das Shapes gesetzt wird
und dann die Tabelle noch einmal ausgedruckt ohne jegliche Rahmen und Shapes.
Der Code funktioniert aber wunschgemäß über die Tastenkombination.
Reinhard hättest Du hierfür eine Erklärung?
Gruß Korl
PS: bin jetzt erstmal außer Haus und in 3 Studen wieder online.
Anzeige
AW: allegeime Druckeinstellung fürs Workbook
01.02.2006 15:54:23
Reinhard
Hi Korl,
ich hatte dein printout übersehen:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
cancel=true
Call drucken
End Sub

Der Code deiner makros äre sehr hilfreich *g
Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen.
AW: allegeime Druckeinstellung fürs Workbook
01.02.2006 18:31:26
Korl
Hallo Reinhard,
danke das Du Dich nochmal gemeldest hast.
Dadurch wird leider nicht gedruckt. Ich habe auch versucht den ganzen in die Ereignisprozedur zustellen um dort den Befehl "cancel=true" gleich hinter meinen Druckbefehl zu setzen.
Aber auch dann wird nicht gedruckt.
Nehme ich "cancel=true" wieder heraus, wird zwei mal gedruckt. :-(
Gruß Korl
Anzeige
AW: allegeime Druckeinstellung fürs Workbook
01.02.2006 20:45:10
Reinhard
Hi Korl,
setz mal vor bzw nach dem printout Befehl
application.enableevents=true bzw =false, vielleicht hängt es dadran.
Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen.
AW: allegeime Druckeinstellung fürs Workbook
01.02.2006 21:15:45
Korl
Hallo Reinhard,
jepp, das wars, es funktioniert jetzt. Ich stell den Code nochmal hier rein, falls jemand mal nachschauen möchte.
Option Explicit
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Set wksA = ActiveSheet
Set wksE = Worksheets("Erläuterung")
lLetzteA = IIf(wksA.Range("A65536") <> "", 65536, wksA.Range("A65536").End(xlUp).Row)
Application.ScreenUpdating = False
Application.EnableEvents = False
With wksA.PageSetup
    .PrintArea = "B1:E" & lLetzteA + 9
    .PrintTitleRows = "$1:$1"
    .PrintTitleColumns = ""
    .LeftMargin = Application.InchesToPoints(0.984251968503937)
    .RightMargin = Application.InchesToPoints(0.393700787401575)
    .Zoom = 100
End With
wksA.Range("B" & lLetzteA + 2, "E" & lLetzteA + 6).ClearContents
wksE.Range("B2:B6").Copy
wksA.Range("B" & lLetzteA + 2).PasteSpecial
Call Rahmen_setzen_gestrichelt
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Cancel = True
Call Rahmen_entfernen
wksA.Range("B" & lLetzteA + 2, "B" & lLetzteA + 7).ClearContents
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Reinhard hab dank für Deine Hilfe und Deiner Mühe!
Gruß Korl
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige