könnte mir bitte jemand den Code ergänzen / umschreiben, dass beim Drucken nicht der Drucker angesteuert wird sondern die Tabellenblätter zusammengefasst als PDF ausgegeben werden.
Private Sub CommandButton1_Click()
If CheckBox2 = True Then Sheets("Tabelle1").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False End If If CheckBox7 = True Then Sheets("dasistneu").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False
07.04.2021, 14:34 (Dieser Beitrag wurde zuletzt bearbeitet: 07.04.2021, 14:36 von schauan.)
Hallöchen,
aufgezeichnet sieht das so aus:
Code:
Sub Makro2() ' ' Makro2 Makro '
' Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3")).Select Sheets("Tabelle1").Activate ChDir "C:\Temp" ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "C:\Temp\Mappe1.pdf", Quality:=xlQualityStandard, IncludeDocProperties:= _ True, IgnorePrintAreas:=False, OpenAfterPublish:=True End Sub
Wenn Du das anders machen willst bräuchtest Du bei Deinen verschiedenen Anwendern die unterschiedlichen pdf-"Drucker" oder wie immer Du das ausgeben willst. Die musst Du per Code auswählen, dann "drucken", ... Nun könnte man per Code schauen, ob es da im System einen Drucker gibt der im Namen "pdf" hat. Manchmal gibt es da mehrere (Microsoft Print To Pdf, pdfCreator ...) schlimmstenfalls keinen ...
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
07.04.2021, 14:53 (Dieser Beitrag wurde zuletzt bearbeitet: 07.04.2021, 14:55 von Mike123.)
Hallo,
schon mal danke für deine Hilfestellung ! Die PDF wird nun erzeugt wie gewünscht. ich habe allerdings deinen Code nun einfach in mein Modul eingebaut da der Druck per Button erfolgen soll.
Es werden aber stets alle Tabellen in die PDF gedruckt. Ich möchte ja bewusst über die Userform auswählen können, welche Tabellenblätter gedruckt werden sollen.
Also wenn ich den Haken bei Tabelle 1 und 3 setze sollen auch nur diese in die PDF gedruckt werden.
Hänge die Datei nochmal modifiziert dran.... Ergänzung: Die Rechner auf denen die Datei genutzt wird erfüllen alle die gleichen Voraussetzungen. Standardmäßig sind FreePDF sowie PDF24 installiert sollte das wichtig sein. Ich benötige auch keinen Luxus, es genügt wenn dem Anwender die PDF generiert wird und wo er sie dann wegspeichert ist seine Sache ....
Moin! Wenn Du (siehe Threaderöffnung) eine Auswahl mehrerer Sheets in eine Pdf haben willst, geht das nicht so einfach! Dann musst Du die Blätter zunächst in eine temporäre neue Mappe kopieren und Dich der Workbook.ExportAsFixedFormat-Methode bedienen.
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
danke für dein Feedback ! Lässt sich das dann mit einem Code in meiner Beispieldatei umsetzen und wenn ja, wie müsste dieser aussehen. bin leider nicht selbst in der Lage diesen zu verfassen.
Sollte das alles nicht möglich sein sehe ich als Laie lediglich die Lösung, alle gewünschten Tabellenblätter in ein Zieltabellenblatt zu kopieren und dann daraus eine PDF zu generieren.
If CheckBox1 = true And CheckBox2 = True And CheckBox3 = True Then Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3")).Select ElseIf CheckBox1 = true And CheckBox2 = True Then Sheets(Array("Tabelle1", "Tabelle2")).Select ElseIf CheckBox2 = true And CheckBox3 = True Then Sheets(Array("Tabelle2", "Tabelle3")).Select ElseIf CheckBox1 = True Then Sheets("Tabelle1").Select ElseIf CheckBox2 = True Then Sheets("Tabelle2").Select ElseIf CheckBox3 = True Then Sheets("Tabelle3").Select End If
Kann man sicher noch abkürzen, ist aber erst mal zum Verständnis. Ausgegeben wird dann das, was selektiert ist. Von der Logik her musst Du Dich von der größtmöglichen Auswahl zu den kleinen durcharbeiten. Sobald eine Bedingung erfüllt ist, werden die folgenden nicht berücksichtigt.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)