Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1288to1292
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
Inhaltsverzeichnis

Makro Drucken

Makro Drucken
26.11.2012 14:00:02
Andre
Hallo,
ich habe folgendes Makro mit dem Recorder aufgezeichnet. Funktioniert auch einwandfrei.
Jetzt mein kleines Problem: Bei z.B. Criteria1:="H20" gibt es nicht immer Werte in der Tabelle. Jedoch druckt das Makro die Spaltenüberschriften aus, das bedeutet ich habe ein Blatt verschwendet.
Kann mir jemand helfen, das das Kriterium zb "H20" nur ausgedruckt werden soll, wenn Werte in der Tabelle stehen.
ActiveSheet.Range("$A$17:$AC$1191").AutoFilter Field:=1, Criteria1:="33"
ActiveSheet.Range("$A$17:$AC$1191").AutoFilter Field:=9, Criteria1:="H20"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
ActiveSheet.Range("$A$17:$AC$1191").AutoFilter Field:=9, Criteria1:="H21"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
ActiveSheet.Range("$A$17:$AC$1191").AutoFilter Field:=9, Criteria1:="M20"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
ActiveSheet.Range("$A$17:$AC$1191").AutoFilter Field:=9, Criteria1:="M21"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
ActiveSheet.Range("$A$17:$AC$1191").AutoFilter Field:=9, Criteria1:="ZD"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Drucken
26.11.2012 14:15:32
Klaus
Hi,
ich bleib mal für dein Verständniss in der Makrorekorder-Syntax:
ActiveSheet.Range("$A$17:$AC$1191").AutoFilter Field:=9, Criteria1:="H20"
'FIELD := 9 bedeutet, es steht in Spalte I. Zähle, ob H20 öfter als 1-mal in Spalte I vorkommt.
iAnzahl = Application.WorksheetFunction.CountIf(Range("I9").EntireColumn, "H20")
'wenn es öfter als 1-mal vorkommt, dann drucke. Sonst nicht.
If iAnzahl > 1 Then ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False

Erweitere das auf alle deine Einzelschritte.
Wenn du interesse hast, schreibe ich dir den Code um so dass er etwas eleganter und schlanker wird. Meld dich dafür einfach nochmal.
Grüße,
Klaus M.vdT.
Das könnte man allerdings noch schlanker und übersichlicher schreiben

Anzeige
AW: CROSSPOST!!!!!
26.11.2012 14:18:32
Klaus
Hallo Themenersteller,
hiermit ziehe ich mein Angebot, dir den Code eleganter umzuschreiben, in aller Höflichkeit zurück.
Rudi, danke für den Hinweis.
Grüße,
Klaus M.vdT.

AW: CROSSPOST!!!!!
28.11.2012 09:32:24
Andre
Ich wollte mich entschuldige. Bin allgemein neu im Forenleben. Kommt nicht wieder vor, sorry.
Würdest du mir trotzdem kurz helfen. Ich wäre dir dafür sehr dankbar!
Habe die vereinfachte Datei hochgeladen mit dem Makro.
Jedoch wird jetzt 33/M20+M21+ZD 3 mal ausgedruckt. Es soll aber 33/M20, 33/M21 und 33/ZD ausgedruckt werden; jeweils auf einem extra Blatt.
Ich enschuldige mich nochmals und hoffe du hilfst mir.
Danke!!!

Anzeige
AW: CROSSPOST!!!!!
28.11.2012 09:41:23
Klaus
Hallo Andre,
ich les jetzt nicht in den anderen Foren gegen, was dort an Lösungen angeboten wurde und wie weit die Helfer dort schon sind. Vielleicht wurde dein Problem bereits dort gelöst, und meine Zeit hier wäre verschwendet. Oder es werkelt drüben grad jemand an der Lösung, und wenn ich hier eine Lösung schneller präsentiere ist dessen Zeit verschwendet.
Grüße,
Klaus M.vdT.

AW: CROSSPOST!!!!!
28.11.2012 09:48:02
Andre
Mir wurde aber noch nicht geholfen. Bin schon fast am verzweifeln, da ich selbst schon rumgebastelt habe, aber eigentlich keine Ahnung habe. Würdest du mir ein letztes mal helfen? Ich wäre dir sehr dankbar!!!

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige