Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Nur bestimmte inhalte drucken
#1
Hallo freunde

ich habe ein problem:

ich habe eine mappe erstellt in der befinden sich ca 12 tabellen.

ich den tabellen 2-11 werden aus listen (tabelle 12) dinge ausgewählt welche dann in tabelle 1 zusammengefasst werden.

das passiert automatisch, dann habe ich ein makro mit dem ich aus tabelle 1 alle zeilen auslese, die keine 0 enthalten und diese werden dann gedruckt.
ich habe nach jeder liste (für jede tabelle 2-11 wird eine neue liste erstellt) einen seitenumbruch eingefügt sodass immer eine liste auf einem blatt gedruckt wird.

nur würde ich gerne in das makro mit einbauen, dass wenn in jeder liste an einer bestimmte stelle eine 0 steht, dass dann die ganze tabelle bis zum seitenumbruch nicht gedruckt wird...

außerdem habe ich das problem das ich, um das makro zu aktivieren eine kleine clipart eingefügt habe, die auch immer mitgedruckt wird aber das mchte ich auch nciht...

ich hoffe ich konnte mich verständlich machen und mir kann jemand helfen :)

Gruß
Antworten Top
#2
Hi,

Zitat:außerdem habe ich das problem das ich, um das makro zu aktivieren eine kleine clipart eingefügt habe, die auch immer mitgedruckt wird aber das mchte ich auch nciht...

klicke die Grafik mit der rechten Maustaste an, es öffnet sich ein Menü. Hier wählst du "Grafik formatieren". Im sich öffnenden Feld wählst du nun "Eigenschaften" aus und nimmst das Häkchen bei "Objekt drucken" weg.

Zu deinem eigentlichen VBA-Problem kann ich dir leider nicht weiterhelfen. Nur denke ich, dass du den potentiellen Helfern dein Makro vorstellen solltest.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:
  • plau
Antworten Top
#3
danke schonmal für den tipp :)

mein makro sieht im moment so aus:
Sub Drucken()
Dim iRowL As Integer, iRow As Integer
iRowL = Cells(Rows.Count, 3).End(xlUp).Row
For iRow = 1 To iRowL
If Cells(iRow, 3).Value = "0" Then
Rows(iRow).Hidden = True
End If
Next iRow
ActiveSheet.PrintPreview
Rows.Hidden = False
End Sub

und jetzt würde ich gerne da einfügen, dass wenn in B6 "-----" steht, dass er dann vom letzten seiteumbruch bis zum nächsten seitenumbruch nichts druckt...geht das überhaupt irgendwie?
Antworten Top
#4
Hallo plau,

nach dem letzten Seitenumbruch kommt aber in Excel keiner mehr Sad ist jetzt fachlich nicht ganz richtig )
Also, Du willst, wenn in B6 "-----" steht, die letzte Seite nicht mit drucken?

Hier mal ein Ansatz.
Mit ActiveSheet.HPageBreaks.Count und ActiveSheet.VPageBreaks.Count kannst Du die Anzahl der horizontalen und Vertikalen Seitenumbrüche feststellen. Die Anzahl der Druckseiten wäre dann je Richtung eine mehr.

Man könnte auch diesen code nehmen: Application.ExecuteExcel4Macro("Get.Document(50)") Allerdings zählt der unter Umständen keine reinen "Bilderseiten" mit.

Ausdrucken tust Du dann je nach verwendetem code die entsprechend noch auszurechnende Seitenanzahl (X):
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=X, Copies:=1, Collate:=True
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
erstmal danke für deine antwort und es ist schön zu sehen das ich jemanden gefunden habe der sich damit auskennt :)

zunächst einmal: das makro was ich im moment habe, habe ich nicht selbst geschrieben sondern nur kopiert und angepasst, ich selber hab sehr wenig ahnung von sowas.

nun zu deiner antwort:
ich glaube da lag ein kleines missverständnis vor, ich meinte nicht den letzten umbruch sondern den vorherigen
also:
ich habe mehrere listen untereinander erstellt und jeweils am ende einen seiten umbruch eingefügt, damit er egal wie viel platz noch auf dem blatt ist nur die eine liste pro blatt druckt.
jetzt möchte ich das mein makro überprüft ob in einer bestimmten zelle "-----" steht und wenn das der fall ist möchte ich das er alle zeilen von dem vorherigen seitenumbruch (zum beispiel zwischen liste 1 und 2) bis zum nächsten (hier dann der zwischen liste 2 und 3) alle zeilen ausblendet, also die ganze seite nicht druckt.

und es wäre sehr schön wenn du mir den code in meinem makro ergänzen könntest da ich wie gesagt herzlich wenig ahnung von sowas habe :(

danke schonmal :)
Antworten Top
#6
Hallöchen,

in welchen Zellen steht denn "-----" ?
Also, erst mal wird Dein Makro recht langsam laufen, wenn es um viele Seiten geht. Das lassen wir aber erst mal so.
Ich gehe jetzt davon aus:
- dass der betreffende Inhalt auf jedem Blatt steht und dort in einer bestimmten Zelle.
- dass es eine feste Anzahl Seiten gibt
Das hab ich jetzt hier geschrieben, ist also nicht getestet. Damit wird jede Seite als einzelner Druckauftrag gesendet. Man könnte auch erst die Seitennummern "einsammeln" und dann als einen Druckauftrag rausschicken.

Code:
Sub Drucken()
Dim iRowL As Integer, iRow As Integer
'Array fuer Druckbedingung
Dim arrPrint
'Array fuer Druckbedingung fuellen - hier die Zellen jedes Blattes definieren
arrPrint = Array("B6","B64","B122")
'Nummer der zuletzt genutzten Zeile anhand Spalte C feststellen
iRowL = Cells(Rows.Count, 3).End(xlUp).Row
'Schleife bis zur letzten genutzten Zeile
For iRow = 1 To iRowL
   'Wenn Zellwert 0, dann
   If Cells(iRow, 3).Value = "0" Then
     'Zeile ausblenden
     Rows(iRow).Hidden = True
   'Ende Wenn Zellwert 0, dann
   End If
'Ende Schleife bis zur letzten genutzten Zeile
Next iRow
'ActiveSheet.PrintPreview
'Schleife ueber alle Blaetter anhand Zellen mit Druckbedingung
For iRow = 1 To Ubound(arrPrint)
  'Wenn Druckbedingung <> "-----", dann
  if range(arrprint(iRow)) <> "-----" Then
    'Seite drucken
    ActiveWindow.SelectedSheets.PrintOut From:=iRow, To:=iRow, Copies:=1, Collate:=True
  'Ende Wenn Druckbedingung <> "-----", dann
  End If
'Ende Schleife ueber alle Blaetter anhand Zellen mit Druckbedingung
Next iRow
Rows.Hidden = False
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#7
das sieht recht plausiebel aus aber könntest du mir das vlt so schreiben das er mir das nicht direkt druckt sondern erstmal eine druckvorschauf öffnet? dann kann ich gucken ob die richtigen sachen drin sind :)

es sind "nur" 10 seiten also denke ich dauert es nicht allzulang


danke dir aber auf jeden fall schonmal!
Antworten Top
#8
Hallo,

ersetze folgende Codezeile

Code:
ActiveWindow.SelectedSheets.PrintOut From:=iRow, To:=iRow, Copies:=1, Collate:=True

durch diese

Code:
ActiveWindow.SelectedSheets.PrintOut From:=iRow, To:=iRow, Copies:=1, Preview:=True, Collate:=True

dann öffnet sich die Druckvorschau.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#9
hallo

also ich habe das makro jetzt so übernommen, aber der zeigt mir in der druckvorschau nur liste nr 3 an obwohl der die eig ausblenden sollte (weil ----- drin steht) und 1 und 4 sollte er auflisten, die kommen aber nicht
Antworten Top
#10
also ich habe jetztnochmal ein bisschen getestet und es sieht so aus das der mit den seiten nicht so ganz klar kommt...

der zeigt mir liste 4 nur an wenn in 5 kein ----- steht...
also wenn ich in liste 4 was stehen habe und in 5 nicht bzw in 5 die ----- stehen druckt der mir liste 4 nicht...

habe überlegt ob ich noch einen seitenumbruch einfügen soll aber ich kann vor der ersten zeile keinen seitenumbruch einfügen...

und im moment öffnet der mir für jede liste eine eigene druckvorschau... kann man das ändern das der alle in einer vorschau anzeig und ich mit "nächster seite" durchklicken kann? :)

dake euch vielmals für eure hilfen!
Antworten Top


Gehe zu:


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