Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1804to1808
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
Checkbox-mehrere Druckbereiche auswählen
14.01.2021 12:42:49
Mo
Hallo,
ich brauche eure Hilfe und zwar möchte ich betimmte Druckbereiche/Tabellen mittels Checkbox auswählen und diese dann als PDF speichern,
hierbei sind bei manchen Arbeitsblättern manchmal 2 Tabellen/Druckbereiche vorhanden, wo manchmal nur eine(n) Tabellen/Druckbereich benötigt wird.
wichtig ist nur dass man die Möglichkeit hat, beliebig die Tabellen/Druckbereiche auszuwählen und anschließend als PDF zu Speichern.
Als Muster habe ich eine Datei hochgeladen: https://www.herber.de/user/143002.xlsx
vorerst Danke für eure Hilfe!
Gruß, Mo

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
link defekt owt
14.01.2021 13:02:14
ralf_b
AW: link defekt owt
14.01.2021 13:22:13
ralf_b
so und nun erzähl nochmal. In deiner "Beispieldatei" ist kein Beispiel.,sondern nur relative gleiche Tabellen. Keine Checkbox. Keine Übersicht zum auswählen.
Deine Vor-"Arbeit" ist unwesentlich.
gruß
rb
AW: link defekt owt
14.01.2021 13:32:20
Mo
ja das war nur ein Beispieldatei, wie das ungefähr ausschaut. in der Beschreibung steht, dass ich Hilfe brauche, wie man mit Checkbox bestimme Bereiche/Tabellen auswählen kann und als PDF speichern. in der Datei ist kein Code, aber ich brauche das, wenn du helfen könntest.
Danke
Anzeige
AW: link defekt owt
14.01.2021 13:32:22
Mo
ja das war nur ein Beispieldatei, wie das ungefähr ausschaut. in der Beschreibung steht, dass ich Hilfe brauche, wie man mit Checkbox bestimme Bereiche/Tabellen auswählen kann und als PDF speichern. in der Datei ist kein Code, aber ich brauche das, wenn du helfen könntest.
Danke
AW: link defekt owt
14.01.2021 13:43:50
ralf_b
das ist eben kein Beispiel, weil die Dinge, die du haben möchtest nicht mal ansatzweise vorhanden sind.
du kannst ein gutes Stück deines Anliegens selbst erledigen.
Zb. Indem du mit dem Makrorekorder deine Schritte aufzeichnest und wir dir dann weiterhelfen bei der Anpassung. Die Frage des Dateinamens und des Speicherortes wären evtl. zu klären. Ode rob jeder Druckbereich in ein separates File gespeichert werden soll oder alle in eine Datei ode rnur die aus einem Blatt in eine Datei. usw.
Auch die Auswahl der Druckbereiche solltest du optisch schon vorbereiten. Woher soll ein Fremder wissen was du dir so vorstellst? DU wirst nicht drum rum kommen dich mit der Materie zu beschäftigen. Zumindest wie man Controls einfügt, Makros einfügt bzw. den Code findet.
gruß
rb
Anzeige
AW: link defekt owt
14.01.2021 15:22:43
Mo
ich hab mir jetzt einen Code geschrieben, aber es funktioniert noch nicht so, wie ich das will.
ich möchte, dass die angekreuzten Bereiche aktiviert und in einem einzelnen PDF(Vorschau) angezeigt werden. vllt kannst du mir da weiterhelfen.
Danke!
Datei mit Code: https://www.herber.de/bbs/user/143007.xlsm
AW: link defekt owt
14.01.2021 19:14:04
ralf_b
anbei ein Versuch der Umsetzung.
Da die Controls und Tabellen nicht die gleiche Bezeichnung haben, ist die hardcodierte Bereichszuweisung wohl einzige Lösung.
https://www.herber.de/bbs/user/143014.xlsm
gruß
rb
Anzeige
AW: link defekt owt
15.01.2021 09:25:22
Mo
vielen Dank!
Gruß,MO
AW: link defekt owt
15.01.2021 15:57:40
Mo
wenn ich jetzt 3 Tabellen bzw. Druckbereiche in einem Arbeitsblatt habe, wie soll der Code geschrieben werden, ich habe den Code mehrmals umgeändert aber ich bekomm es nicht hin, dass 3 Seiten erstellt werden:
jetzt soll ich auch Tabelle C in Tabelle1 z. B. hinzufügen, wie soll man den Code erweitern/schreiben!
With Sheets("Tabelle1")
If Cb_TabelleA.Value = True Then
.Select
.PageSetup.PrintArea = "$A$1:$J$29" 'druckbereich festlegen
'.Range("A1:J29").Select
check = True 'prüfvariable setzen
End If
If Cb_TabelleB.Value = True Then
If check = True Then
.PageSetup.PrintArea = .PageSetup.PrintArea & " ," & "$A$31:$K$62"
'.Range("A31:K62").Select
Else
.Select
.PageSetup.PrintArea = "$A$31:$K$62"
check = True
End If
End If
End With 'ende Sheets("Tabelle1")
Danke Nochmal
Gruß, Mo
Anzeige
AW: link defekt owt
15.01.2021 16:46:29
ralf_b
Wer hätte gedacht das sich die Anordnung ändern könnte?
Du siehst die fett gedruckten Texte.
die with Anweisung umschließt den Bereich für eine Tabelle damit man nicht ständig sheets(Tablle1) schreiben muß.
und je nachdem wie viele Bereiche in einer Tabelle sind, muß auch berücksichtigt werden ob im pagesetup schon ein Druckbereich drin sein könnte. Man kann die Länge des Textes abfragen oder die Anzahl der Bereiche oder gucken wieviele Checkboxen vorher im Blatt schon aktiviert sind. Es gibt einige Möglichkeiten.
With Sheets("Tabelle1")
....PageSetup.PrintArea = "$A$1:$J$29" 'druckbereich festlegen
.....If check = True Then
.PageSetup.PrintArea = .PageSetup.PrintArea & " ," & "$A$31:$K$62"
.....end if.........
End With 'ende Sheets("Tabelle1")

Du kannst auch auf "if check = true " verzichten und nur prüfen ob ein druckbereich im blatt schon gesetzt wurde. Dann muß aber geschaut werden das das pagesetup beim nächsten durchlauf vorher gesäubert wird. D.h. zu Beginn jeder Blattprüfung .pagesetup.printareas= ""

If Cb_TabelleB.Value = True Then
check = True
If .PageSetup.PrintArea  "" Then
.PageSetup.PrintArea = .PageSetup.PrintArea & " ," & "weiterer Bereich "
Else
.Select
.PageSetup.PrintArea = "$A$31:$K$62"
End If
End If

Anzeige
AW: link defekt owt
15.01.2021 23:49:34
Mo
ich hab jetzt die dritte Tabelle/Druckbereich im Arbeitsblatt "Tabelle1" im Code ergänzt, wie du vorgeschlagen hast, aber es kommt die Meldung, dass die Formel einen Fehler enthält.
Könntest du bitte das anschauen und korrigieren.
Hier der Link zur Datei: https://www.herber.de/bbs/user/143044.xlsm
Danke Vielmals!
Gruß,
MO

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige