Excel2003 Arbeitsmappe (xx)Tabellenblatt1 mit 3 eingerichteten Seiten mit jeweils 1 Tabelle mit 20 Zeilen und 12 Spalten, Seite 1 A5:L24, Seite 2 A31:L50, Seit 3 A57:L76
Möchte mit VBA Druchbutton erstellen, der die Seiten ausdruckt wo in Zelle A5 (=Seite1) ,A31(=Seite2) oder A57(=Seite3) Text steht z.B(12345678 Max, Muster)wenn in jeweiliger Zelle nichts steht soll diese Seite nicht ausdrucken werden.
hallo
Der Befehl:
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Druckt mal die Aktive Seite aus, der Rest würde ich mit if then else Bedingungen Abfangen.
If Tabele1.cells(1,5)"" then
tabelle1.select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
end if
Hallo
wollte mich für die schnelle Anwort bedanken.
Habe heute Nachtschicht und werde es mit meinen minimalen VBA wissen mal ausprobieren.
Schauen wir mal ob ich das hin bekomme.
Ich melde mich dann wieder Danke !!
With Worksheets(„Tabelle1“)
If .Cells(5, 1) Empty Then
Range(„A5:L24“).PrintPreview
End If
If .Cells(31, 1) Empty Then
Range(„A31:L50“).PrintPreview
End If
If .Cells(57, 1) Empty Then
Range(„A57:L76“).PrintPreview
End If
End With
End Sub
Der Commondbutton ist bei mir auf Blatt 1 eingrichtet.
habe vergessen den Druckbefehl zu ändern (Printpreview um nicht ständig zu drucken bei meinen Experimenten)
Diesen Befehl eine echte Druckausgabe auf Print ändern.
Hallo Hugo,
hat Super funktioniert.Danke
Eine Frage hab ich noch, Du gibst If .Cells(5, 1)für Zelle A5 ein,wenn ich If.Cells(2, 10) eingebe ist das dann Zelle J2 die abgefragt wird?
Vielen dank für deine Hilfe
Guten Rutsch 2013
Calimero-xl
Sub Drucken\_1()
Dim wks As Worksheet
Set wks = ActiveSheet
With wks
If .Range("A5") "" Then
.PrintOut from:=1, to:=1, Priview:=False
End If
If .Range("A31") "" Then
.PrintOut from:=2, to:=2, Priview:=False
End If
If .Range("A57") "" Then
.PrintOut from:=3, to:=3, Priview:=False
End If
End With 'wks
End Sub
Sub Drucken\_2()
Dim wks As Worksheet
Set wks = ActiveSheet
With wks
If .Range("A57") "" Then
.PrintOut from:=1, to:=3, Priview:=False
ElseIf .Range("A31") "" Then
.PrintOut from:=1, to:=2, Priview:=False
ElseIf .Range("A5") "" Then
.PrintOut from:=1, to:=1, Priview:=False
End If
End With 'wks
End Sub
Wenn in den bestimmten Bereichen noch andere Werte stehen dann werden diese automatisch auch mit ausgedruckt.
Du könntest allenfalls über den Autofilter und eine Hilfsspalte einzelne Zeilen ausblenden und dann erst drucken.
Oder Du legst dir benutzerdefinierte Ansichten an in denen jeweils einzelne Zeilenblöcke ausgeblendet sind und verwendest dann die entsprechende Ansicht zum Drucken.
Alles weitere kann nur mit VBA-Programmierung erreicht werden.