Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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  - "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:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• plau
Registriert seit: 06.10.2014
Version(en): 07
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 :)
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• plau
Registriert seit: 06.10.2014
Version(en): 07
GRANDE!
danke dir viel viel mals!
das zweite was du gepostet hast klappt super! :) :18:
Registriert seit: 06.10.2014
Version(en): 07
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?
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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)
Registriert seit: 06.10.2014
Version(en): 07
erstmal: ja für jedes ausgeblendetes blatt wird eine leere seite angezeigt
was genau meinst du mir "breiter"?
Registriert seit: 06.10.2014
Version(en): 07
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? :)
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Plau, Diene Frage ist bei mir irgendwie untergegangen  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)
Registriert seit: 06.10.2014
Version(en): 07
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...
|