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
#11
Hallo Plau,

das mit dem "Versatz" war mein Fehler - ich war in Gedanken noch halb bei einer anderen Antwort, wo das Array mit 1 lossging.
In unserem Fall geht es aber mit 0 los, daher so - hier nur mal der betreffende Auszug:

Code:
'Schleife ueber alle Blaetter anhand Zellen mit Druckbedingung
For iRow = 0 To UBound(arrPrint)
  'Wenn Druckbedingung <> "-----", dann
  If Range(arrPrint(iRow)) <> "-----" Then
    'Seite drucken
    ActiveWindow.SelectedSheets.PrintOut From:=iRow + 1, To:=iRow + 1, Preview:=True, Copies:=1, Collate:=True

Die Ursache für das mit der Druckvorschau hatte ich geschrieben Smile - "jede Seite einzeln"

Probier das mal aus, ich kümmere mich derweil um die Druckvorschau.

Zusatzhinweis / -frage im Voraus - was passiert eigentlich, wenn so viele Zeilen ausgeblendet werden, dass die Zelle mit dem ----- auf die vorhergehende Seite rutscht?
.      \\\|///      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:
  • plau
Antworten Top
#12
hallo schauan

danke dir bis jetzt klappt alles super :)

wenn du das jetzt noch mit der druckvorschau hinbekommst wäre es perfekt ;)

das mit dem verrutschen ist kein problem, weil ich nach jeder tabelle einen seitenumbruch eingefügt habe, dadruch beginnt die neue seite immer am anfang einer neuen liste

ich hoffe das war es was du wissen wolltest :)
Antworten Top
#13
Hallo Plau,

noch eine Frage - haben die Seiten dann eine feste Länge? Wenn Du manuelle Seitenumbrüche hast und dadurch feste Zeilen, kann man das einfacher programmieren.
Ich würde dann ein weiteres Array aufbauen mit den Zeilennummern, z.B. arrSeiten = Array("1:50","51:100","101:150") und wenn die Bedingung erfüllt ist, dann den Zeilenbereich ausblenden.

Code:
Sub Drucken()
Dim iRowL As Integer, iRow As Integer
'Array fuer Druckbedingung und Seiten
Dim arrPrint, arrSeiten
'Array fuer Druckbedingung fuellen - hier die Zellen jedes Blattes definieren
arrPrint = Array("B6", "B64", "B122")
'Array fuer Seiten
arrSeite = Array("1:50", "51:100", "101:150")
'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
'Schleife ueber alle Blaetter anhand Zellen mit Druckbedingung
For iRow = 0 To UBound(arrPrint)
  'Wenn Druckbedingung = "-----", dann
  If Range(arrPrint(iRow)) = "-----" Then
    'Seite ausblenden
      Rows(arrSeite(iRow)).Hidden = True
  'Ende Wenn Druckbedingung = "-----", dann
  End If
'Ende Schleife ueber alle Blaetter anhand Zellen mit Druckbedingung
Next iRow

ActiveWindow.SelectedSheets.PrintOut , Preview:=True, Copies:=1, Collate:=True

Rows.Hidden = False
End Sub
.      \\\|///      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:
  • plau
Antworten Top
#14
GRANDE!

danke dir viel viel mals!

das zweite was du gepostet hast klappt super! :) :18:
Antworten Top
#15
hallo

ich habe grade ein problem, das makro tut seinen dienst nur ist es im moment so, dass es wenn eine liste ausgeblendet wird er mir in der druckvorschau eine leere seite anzeigt...


kann es damit zusammen hängen, dass ich jetzt am ende eine liste eingefügt habe, die nicht ausgeblendet wird?
Antworten Top
#16
Hallo Plau,

meinst Du, Excel zeigt Dir für jedes ausgeblendetes Blatt ein leeres ?
Wenn Dein letztes / neues Blatt breiter ist als eine Seite, kann das auch zu leeren Seiten in der Anzeige führen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#17
erstmal: ja für jedes ausgeblendetes blatt wird eine leere seite angezeigt

was genau meinst du mir "breiter"?
Antworten Top
#18
push :)

ich habe noch ne frage :)

ich habe ja die zelle mit ------ drin stehen
ich mach es mal mit einem beispiel:
in der zelle steht 1-2-3-4-5-6 wobei 1,2,3,4,5,6 jeweils aus verschiedenen zellen ausgelesen und übertragen werden. nun kann es aber sein das 3 nicht drinsteht also: 1-2--4-5-6

ich möchte aber gerne, dass dann da 1-2-4-5-6 steht, also nicht 2 "-" nebeneinander stehen...

kann ich es irgendwie einrichten, dass wenn er nichts auslesen kann auch kein - davor schreibt? :)
Antworten Top
#19
Hallo Plau,

Diene Frage ist bei mir irgendwie untergegangen Sad
Mit breiter meinte ich, ob z.B. die letzte "Seite" spaltenmäßig mehr Daten enthält, als auf eine Druckseite gehen. Allerdings hat das dann doch keine Auswirkungen, da ja die kompletten Zeilen ausgeblendet werden.

Eventuell stimmen aber die Daten im ArrSeite nicht und es bleiben auf jeder Seite Zeilen übrig?

Die Frage mit den "-" stand doch dieser tage hier schon anderswo zur Diskussion, ich hatte auch darauf geantwortet. Ich such das gleich nochmal raus ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#20
also mein array sieht so aus:
arrSeite = Array("1:49", "50:98", "99:147", "148:196", "197:245", "246:294", "295:343", "344:392", "393:441", "442:490", "491:520")

sollte doch eigentlich richtig sein oder?

es passiert ja auch nur das wenn ich seite 1 und seite 10 drucken will, dann zeigt er mir seite 2-9 leer an...

jetzt habe ich noch ein problem (ich hoffe ich fange nicht schon an zu nerven ;) )

ich habe jetzt auf seite 10 eine grafik eingefügt und die wird nicht mit ausgeblendet wenn seite 10 ausgeblendet werden soll...also wird sie imemr gedruckt...
Antworten Top


Gehe zu:


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