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.

Mehrere Blätter als PDF mit Vorauswahl (VBA)
#1
Hallo zusammen,
ich hab da bei einer Mappe ein Problem(chen) und vertraue mal wieder auf die Kraft des Forums Blush
Folgendes:
Ich habe eine ExcelMappe mit insges. 25 Blättern
Hier habe ich zum Drucken eine Maske in welcher ich anhaken kann, welches Blatt gedruckt werden soll.
Das funktioniert soweit.
Nun möchte ich diese Maske dazu hernehmen um aus den gewählten Blättern ein PDF zu erstellen.
Frage:
Zur AUswahl ist ja der Befehl Sheets(Array("Tabelle1", "Tabelle2" ....usw. nötig
Wie bekomme ich nun die Namen der ausgewählten Blätter in das Array ? und zwar mit den ganzen Anführungszeichen usw.
Oder gibts da ne andere Möglichkeit ?

Wäre echt super, wenn och da nen Tipp von euch haben könnte

Gruß
KLaus
Antworten Top
#2
Hallo!

Tabellenblätter in PDF umwandeln. VBA-Kennwort ist ein kleines a. Da kannst Du schauen wie ich das gemacht habe. Das Tool ist sowohl für "ExportAsFixedFormat" als auch für den PDF-Creator ausgelegt. Da kannst Du auch auswählen ob alle Blätter in eine PDF-Datei kommen oder in jeweils separate Dateien.

Gruß, René
Antworten Top
#3
Hallo René,
vielen Dank für Deine XLAM Habs mal schnell durchgeschaut. Ist ja ein richtiges Monsterteil.
RESPEKT :2323:23:
Aber mein Problem ist etwas anders geartet. Leider kann ich Dir die orig Datei nicht mitsenden, deshalb hab ich schnell mal ne kleine ZUsammengebaut und hoffe ich kann das Problemchen so besser erklären. Ich hab im code des Frames das mal kurz reingeschrieben was ich meine
Ich möchte eben nur die ausgewählten zu einer PDF zusammenführen.
Hast Du ne Idee
Gruß
Klaus


Angehängte Dateien
.xlsm   Mappe2.xlsm (Größe: 18,55 KB / Downloads: 38)
Antworten Top
#4
Private Sub CommandButton1_Click()

Dim vntSheetArray()      As Variant
Dim intSheetCounter      As Long
Dim bolOpenAfterPublish  As Boolean
Dim contUFCheckboxes     As Control


If MsgBox("Soll die Datei nach dem Erstellen angezeigt werden?", vbYesNo + vbQuestion, "Frage") = vbYes Then bolOpenAfterPublish = True

intSheetCounter = 0

For Each contUFCheckboxes In UserForm1.Controls
    If TypeName(contUFCheckboxes) = "CheckBox" Then
       If contUFCheckboxes.Value = True Then
          Redim Preserve vntSheetArray(0 To intSheetCounter)
          vntSheetArray(intSheetCounter) = contUFCheckboxes.Caption
          intSheetCounter = intSheetCounter + 1
       End If
    End If
Next contUFCheckboxes

ActiveWorkbook.Sheets(vntSheetArray).Copy

With ActiveWorkbook
    .ExportAsFixedFormat Type:=xlTypePDF, Filename:=Environ("USERPROFILE") & "\Desktop\Test.pdf", _
                         Quality:=xlQualityStandard, IncludeDocProperties:=True, _
                         IgnorePrintAreas:=False, OpenAfterPublish:=IIf(bolOpenAfterPublish, True, False)
    .Close SaveChanges:=False
End With

bolOpenAfterPublish = False

Unload Me

End Sub




VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel


Code erstellt und getestet in Office 15
Antworten Top
#5
Super danke:28:
Ich werde das testen (geht aber erst morgen)
Und melde mich dann nochmal bei Dir

Vielen vielen Dank:100100

Klaus
Antworten Top
#6
HAllo Mumpel,
habe Dein Script ausprobiert und es funzt soweit.
Hier naochmal ein dickes DANKESCHÖN
ABER
Ich habe in dem einen oder anderen Blatt Makros drin. Zum Teil auch bei "Worksheet_activate".
Diese Scripts funktioniern dann nicht, da hier Variable, die im Ursprung als Public deklariert sind, nach dem Kopieren nicht deklariert sind.
Wie bekommt man das Copy hin, ohne die Makros mitzunehmen ??

HAst Du da ne Idee ??

Gruß
Klaus
Antworten Top
#7
Setze vor dem Kopieren die Application.EnableEvents auf False, nach dem Kopieren wieder auf True. Dann sind zumindest die Tabellenereignisse nicht im Weg.
Antworten Top
#8
Gute Idee, aber ich habe folgendes getan.
Normalerweise ist nur das Blatt eingebledet, welches für die Eingaben benötigt wird.
Wenn ich nun (mit Hilfe Deines Scripts) die ausgewählten Blätter einblende, dann alle auswähle und dann ein PDF erstelle, so enthält die PDF-Datei nur die eingeblendeten Blätter. :17:
Genau das was ich haben wollte.
Trotzdem nochmal vielen vielen Dank für all eure Hilfe:100:

Guß
KLaus
Antworten Top


Gehe zu:


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