Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


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
to 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é
to top
#3
Hallo René,
vielen Dank für Deine XLAM Habs mal schnell durchgeschaut. Ist ja ein richtiges Monsterteil.
RESPEKT 232323
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: 9)
to 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
to top
#5
Super danke28
Ich werde das testen (geht aber erst morgen)
Und melde mich dann nochmal bei Dir

Vielen vielen Dank100100

Klaus
to 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
to 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.
to 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 Hilfe100

Guß
KLaus
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Blätter kopieren, Monatswechsel beachten. Didi 1 30 Vor 11 Stunden
Letzter Beitrag: schauan
  Summewenn mehrere Blätter Mario_Hana 7 66 21.11.2016, 16:04
Letzter Beitrag: BoskoBiati
  Ein PDF Dokument anhand mehrerer Blätter erstellen Reismann 4 94 04.11.2016, 06:19
Letzter Beitrag: Reismann
  zeile(n) über mehrere Tab.blätter einfügen radagast 4 159 22.09.2016, 13:31
Letzter Beitrag: radagast
  Ein Bereich mehrere Blätter Wiegand 2 157 22.09.2016, 08:05
Letzter Beitrag: Wiegand
  Datenübertragung in versch. Blätter Lizzel 3 229 06.08.2016, 05:53
Letzter Beitrag: schauan
  Blätter erzeugen und umbenennen WeisserWolf611 2 228 01.08.2016, 11:13
Letzter Beitrag: WeisserWolf611
  Automatisches Einbinden neuer Tab.blätter FaustoCoppi 5 345 11.07.2016, 12:19
Letzter Beitrag: FaustoCoppi
  Auswahl änderbar in allen & für alle Blätter SHW_Funrun 10 635 06.07.2016, 17:11
Letzter Beitrag: schauan
  Makro - Daten in neue Blätter sortieren Rupert85 4 628 10.03.2016, 18:32
Letzter Beitrag: schauan

Gehe zu:


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