Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


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 Smile

Gruß
to 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.
?mage

Misserfolg ist eine Chance, es beim
nächsten Mal besser zu machen.

(Henry Ford)
http://www.sprueche-zum-nachdenken.eu
[-] Folgende(r) 1 Benutzer sagt Danke an WillWissen für diesen Beitrag:
plau
to top
#3
danke schonmal für den tipp Smile

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?
to top
#4
Hallo plau,

nach dem letzten Seitenumbruch kommt aber in Excel keiner mehr :-( 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-2016)
to top
#5
erstmal danke für deine antwort und es ist schön zu sehen das ich jemanden gefunden habe der sich damit auskennt Smile

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 Sad

danke schonmal Smile
to 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-2016)
to 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 Smile

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


danke dir aber auf jeden fall schonmal!
to 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 7 / Office 2007
to 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
to 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? Smile

dake euch vielmals für eure hilfen!
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Funktion "Inhalte Einfügen" vortführend rob_123 5 60 Heute, 06:53
Letzter Beitrag: shift-del
  Inhalte von Tabellen auf mehreren Tabellenblätter übernehmen robbery 11 212 28.10.2016, 18:45
Letzter Beitrag: Jockel
  Inhalte von 2 Blättern vergleichen und kopieren Rainman 4 165 15.10.2016, 18:19
Letzter Beitrag: schauan
  VBA: Grafik einfügen und Makro zuweisen, Drucken und PDF-Erstellung andifreak 1 99 25.09.2016, 16:06
Letzter Beitrag: schauan
  Inhalte mit Anzahl automatisch duplizieren alexz 5 116 21.09.2016, 09:46
Letzter Beitrag: Peter
  Inhalte aus Zellen zusammenführen - Excel 2013 HagenBe 11 458 08.09.2016, 15:58
Letzter Beitrag: HagenBe
  Automatische Abfrage mehrerer Inhalte dsievert 13 607 25.08.2016, 08:31
Letzter Beitrag: steve1da
  Blatt schützen u mit macro inhalte löschen? Mawerick 2 167 19.08.2016, 08:45
Letzter Beitrag: RPP63
  VBA - Inhalte in bestimmte Zellen schreiben Wiiinnniii 12 546 18.08.2016, 10:59
Letzter Beitrag: IchBinIch
  Zwei Spalten auf gleiche Inhalte vergleichen Maju1611 3 186 05.08.2016, 21:00
Letzter Beitrag: schauan

Gehe zu:


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