Clever-Excel-Forum

Normale Version: bestimmte Felder sowie nur Zeilen mit einen Wert "xyz" im Feld ausdrucken...
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Meine Suche nach einem Excelforum hat mich direkt zu euch geführt, et voilà und hallo an alle Exclamation

Da meine VBA Künste unterirdisch sind, hoffe ich das mir jemand von euch unter die Arme greifen kann.

Wie im Betreff kurz erwähnt, möchte ich bestimmte einzelne Felder und alle Zeilen mit einen Wert "xyz" in einem Feld von Spalte B - S über ein Togglebutton ausdrucken.
Eine Druckerauswahl vor dem Drucken wäre dann noch das i Tüpfelchen an der ganzen Sache. Blush

Ps. den Togglebutton hab ich schon  :18:
Hallöchen,

dann würde ich erst mal vorschlagen, dass Du schaust, was der Makrorecorder so leisten kann Smile
Allerdings frage ich mich, was die zweite Aktion des Toggle-Buttons wird oder soll der Anzeigen, dass schon gedruckt wurde? Ansonsten würde ja ein Command-Button reichen.
Ok ein Command-Button wäre auch ok, schau ich mir mal an.
Aktuell habe ich eine Teil-Lösung bis hier hin:

Private Sub ToggleButton3_Click()
ActiveSheet.PageSetup.PrintArea = "B12:S14"
ActiveSheet.PrintPreview
ActiveSheet.PageSetup.PrintArea = False
End Sub

Der Toggle-Button macht das bis dahin ganz gut, allerdings muss ich die Seite voher noch auf Querformatumstellen sonst passen die Zellen nicht aufs Blatt.

Bei der Sache B12:S14 sollen aber nur Zeilen gedruckt werden welche einen Wert !=  0 in einer Zelle haben.
Außerdem soll vor Zeile B12 ein xbeliebiges Feld vorangestellt werden und nach S14 zwei weitere xbeliebige Felder. Ob das ein Macro so aufnehmen kann?
Bis dahin wäre es schon die halbe Miete.

Für ActiveSheet.PrintPreview gibt es glaube ich auch ein active-x befehl, so habe ich gelesen, dieser zeigt ein Druckerauswahlfenster an und dort gäbe es auch eine Preview, was ideal wäre..

Mal sehen was ich nächste Woche noch dazu finden kann, am Wochenende muss ich "leider" arbeiten.

Danke schon mal für die Tipps, wer sich beteiligen möchte,... freue mich über jede Unterstützung! Blush
Ehm active-x *hust* sollte wohl eher xlDialogPrint lauten :19:  

OK der Togglebutton kann nicht mit Application.Dialogs(xlDialogPrint).Show umgehen, so scheint mir.

Dafür  stehe ich jetzt an folgender Stelle  mit dem Commandbutton und das sieht schon ganz gut aus:

With ActiveSheet.PageSetup
.Orientation = xlLandscape
        .TopMargin = Application.CentimetersToPoints(1.6)
        .BottomMargin = Application.CentimetersToPoints(1.3)
        .LeftMargin = Application.CentimetersToPoints(0)
        .RightMargin = Application.CentimetersToPoints(0)
        .Zoom = 85
        .CenterHorizontally = True
End With

Dim lngCounter As Long
lngCounter = 1
Do While Cells(lngCounter + 1).Value < 0
  lngCounter = lngCounter + 1
Loop
ActiveSheet.PageSetup.PrintArea = _
  ActiveSheet.Range("B12:S14" & lngCounter).Address
  Application.Dialogs(xlDialogPrint).Show
 
Nun bleibt nur noch die xbeliebige Zelle direkt vor und nach den Zeilen B12:S14. Außerdem werden jetzt noch die Zeillen Nach S:14 angezeigt :(

So genug für heute... :31:
Hallöchen,

wenn Du vor und nach B12:S14 etwas drucken willst, dann beziehe das in den Bereich mit ein, z.B. B11:S15.
Allerdings beißt sich hier was in der Formulierung:
Nun bleibt nur noch die xbeliebige Zelle direkt vor und nach den Zeilen B12:S14. Außerdem werden jetzt noch die Zeillen Nach S:14 angezeigt
S15 würdest Du ja brauchen, um eine Zelle nach S14 zu drucken - oder meinst Du seitlich?

Übrigens sollte in der Druckvorschau nur der als Druckbereich festgelegte Bereich angezeigt werden - ist das bei Dir nicht der Fall?
Falls da fas fehlgeht - bei neueren Excel-Versionen programmiert man zuweilen die PrintCommunication um die Festlegung des PageSetups.

Code:
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
Application.PrintCommunication = True
Hallo schauan,

hab jetzt die Tabelle umgebaut und es anhand deiner bisherigen Tipps lösen können.

Thumps_up