VBA unter bestimmten Bedingungen drucken
#1
Hallo,
ich mal wieder :D

Ich möchte per Button klick unter bestimmten Bedingungen einen Bereich drucken.

1 Bedingung
In Spalte B soll ein Wert drin stehen.
In Spalte B ist folgende Formel drin.

Code:
=SUMMEWENN(Magerfleisch[Datum];[Datum];Magerfleisch[Köpfe])
2 Bedingung
In Spalte G soll kein X drin stehen.
Ich habe euch mal 2 Bilder gemacht.
In dem Fall soll dann A22 bis F 32 gedruckt werden
Es geht auch A 23 bis F 32


Ich hatte schon mal in einer anderen Datei das drucken aufgezeichnet, hier aber für einen festen Bereich.


Code:
Private Sub Ladungen_Click()
   Range("F1:L30").Select
   Application.PrintCommunication = False
   With ActiveSheet.PageSetup
       .PrintTitleRows = ""
       .PrintTitleColumns = ""
   End With
   Application.PrintCommunication = True
   ActiveSheet.PageSetup.PrintArea = ""
   Application.PrintCommunication = False
   With ActiveSheet.PageSetup
       .LeftHeader = ""
       .CenterHeader = ""
       .RightHeader = ""
       .LeftFooter = ""
       .CenterFooter = ""
       .RightFooter = ""
       .LeftMargin = Application.InchesToPoints(0.7)
       .RightMargin = Application.InchesToPoints(0.7)
       .TopMargin = Application.InchesToPoints(0.787401575)
       .BottomMargin = Application.InchesToPoints(0.787401575)
       .HeaderMargin = Application.InchesToPoints(0.3)
       .FooterMargin = Application.InchesToPoints(0.3)
       .PrintHeadings = False
       .PrintGridlines = False
       .PrintComments = xlPrintNoComments
       .CenterHorizontally = False
       .CenterVertically = False
       .Orientation = xlPortrait
       .Draft = False
       .PaperSize = xlPaperA4
       .FirstPageNumber = xlAutomatic
       .Order = xlDownThenOver
       .BlackAndWhite = False
       .Zoom = False
       .FitToPagesWide = 1
       .FitToPagesTall = 1
       .PrintErrors = xlPrintErrorsDisplayed
       .OddAndEvenPagesHeaderFooter = False
       .DifferentFirstPageHeaderFooter = False
       .ScaleWithDocHeaderFooter = True
       .AlignMarginsHeaderFooter = True
       .EvenPage.LeftHeader.Text = ""
       .EvenPage.CenterHeader.Text = ""
       .EvenPage.RightHeader.Text = ""
       .EvenPage.LeftFooter.Text = ""
       .EvenPage.CenterFooter.Text = ""
       .EvenPage.RightFooter.Text = ""
       .FirstPage.LeftHeader.Text = ""
       .FirstPage.CenterHeader.Text = ""
       .FirstPage.RightHeader.Text = ""
       .FirstPage.LeftFooter.Text = ""
       .FirstPage.CenterFooter.Text = ""
       .FirstPage.RightFooter.Text = ""
   End With
   Application.PrintCommunication = True
   Selection.PrintOut Copies:=1, Collate:=True
   Unload Me
End Sub


Angehängte Dateien Thumbnail(s)
       
Top
#2
Hallo,

Zitat:Ich habe euch mal 2 Bilder gemacht. 

ja, Deine Bildchen sind schön bunt.
Mal sehen, ob da wer Lust hat, den Kram in eine Datei zu übertragen.
Nach über 170 von Dir gestellten Anfragen solltest Du eigentlich wissen,
was die Helfer von geposteten Bildern halten.
Top
#3
Hallo,

warum sollen die Zeilen 22 und 29 gedruckt werden, obwohl sie nicht den Bedingungen entsprechen?

Gruß Uwe
Top
#4
Hallöchen,

so wie ich es verstehe, willst Du nur die Zeilen drucken, die Deinen Bedingungen entsprechen?
Da würde ich einfach mit dem Autofilter arbeiten. Das kannst Du auch aufzeichnen und an den Beginn Deines Makros setzen.

Übrigens ergibt SUMMEWENN, wenn alles korrekt läuft, immer einen Wert. Schlimmstenfalls 0, wenn man mehr erwartet Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Izzy
Top
#5
Super danke.
An einen Filter hatte ich garnicht gedacht.
hab alles aufgezeichnet und es funktioniert ::)

Summewenn ergibt nicht immer etwas ::)
In meiner Tabelle steht oft #DIV/0!. Das liegt aber da dran, weil die Formel sich auf eine Zelle bezieht, die eine andere Formel beinhaltet und wenn in den Zellen davor noch keine Werte drin sind, spuckt er eben #DIV/0! aus.
Daher kommt auch bei Summewenn, #DIV/0! raus, weil eine der Bezugszellen #DIV/0! ausspuckt :)
Top
#6
Hallöchen,

wenn Du den Fehlerwert #DIV/0 nicht benötigst, könntest Du ihn ja mit =WENNFEHLER(...) vermeiden und etwas anderes ausgeben.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Izzy
Top
#7
Danke, der DIV Fehler stört aber nicht. Das was mich interessiert ist ja mit bedingter Formatierung farblich hinterlegt
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste