Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Register über Inputbox als PDF speichern
23.02.2015 19:25:38
Andy
Hallo,
habe mir diesen VBA-Code aufgezeichnet.
Ich möchte über eine Imputbox die Tabellen einer Arbeitsmappe eingeben die als PDF-Datei gespeichert werden soll z.B. Tabelle2 bis Tabelle4. Den Namen möchte ich auch über eine Inputbox eingeben und das aktuelle Datum soll angehängt werden (z.B. Name23.02.2015.pdf).
Währe super wenn Ihr das lösen könntet.
Vielen Dank im voraus
Sub SpeichernPDF()
Sheets(Array("Tabelle2", "Tabelle3", "Tabelle4")).Select
Sheets("Tabelle2").Activate
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\Documents\Mappe1.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Register über Inputbox als PDF speichern
24.02.2015 08:39:26
JoWE
Hallo Andy,
Du könntest eine Userform mit einer Listbox (multiselect einstellen) und wie im Beispiel mit einer Schaltfläche "Ausgaben" (CommandButton1) sowie einer Schaltfläche "Beenden" (CommandButton2) nutzen.
Beim Start der Userform würden die Tabellenblätter in die Listbox eingelesen.
Die Ausgabe der in der Listbox durch Anklicken selektierten Tabellenblätter im Beispielcode (der gesamte Code gehört in die Userform!!) könnte dann statt in eine MsgBox in ein PDF-File übergeben werden.
Beispielcode:
Private Sub CommandButton1_Click()
Dim i As Integer
Dim Auswahl As String
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
MsgBox ListBox1.List(i) 'hier Dein Code zur Ausgabe als PDF
End If
Next i
Unload Me
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()
For Each sh In ThisWorkbook.Worksheets
Me.ListBox1.AddItem sh.Name
Next
End Sub
Gruße
Jochen

Anzeige
AW: Register über Inputbox als PDF speichern
24.02.2015 20:09:39
Andy
Hallo,
vielen Dank für die schnelle Antwort, habe den Code soweit bei mir angepasst.
Leider kann ich in der Liste nur eine Tabelle auswählen aber nicht gleichzeitig mehrere,
geht das das man durch anklicken die jeweiligen Tabellen (Mehrfachauswahl) anklicken und in eine PDF-Datei exportiert.
Danke in voraus
Gruß Andy
Private Sub CommandButton1_Click()
Dim i As Integer
Dim Auswahl As String
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
MsgBox ListBox1.List(i) 'hier Dein Code zur Ausgabe als PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\Documents\" & Worksheets("Tabelle2").Range("A1").Value & "_" & Format(Range(" _
B1").Value, "dd.mm.yyyy") & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
End If
Next i
Unload Me
End Sub

Anzeige
AW: Register über Inputbox als PDF speichern
24.02.2015 21:06:24
JoWE
Andy,
könnte auch so schon klappen?
Private Sub CommandButton1_Click()
Dim i As Integer
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
sh.ExportAsFixedFormat xlTypePDF, "C:\Users\Documents\" & Worksheets(sh.Name) _
.Range("A1").Value & "_" & Format(Range("B1").Value, "dd.mm.yyyy")
End If
Next i
Unload Me
End Sub

Gruß
Jochen

AW: Register über Inputbox als PDF speichern
24.02.2015 21:49:12
Andy
Hallo,
bekomme einen "Laufzeitfehler 424 Objekt erforderlich" und die Mehrfachauswahl der Tabellen geht immer noch nicht.
Danke

AW: Register über Inputbox als PDF speichern
25.02.2015 07:04:30
JoWE
Hi,
...Mehrfachauswahl geht nicht...
vermutlich hast Du die Eigenschaft "MultiSelect" der Listbox1 noch
immer nicht auf "1 - fmMultiSelectMulti" umgestellt?!
So läuft's bei mir:
Private Sub CommandButton1_Click()
Dim i As Integer
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
Sheets(ListBox1.List(i)).ExportAsFixedFormat xlTypePDF, _
"C:\Daten\temp\" & Worksheets(ListBox1.List(i)) _
.Range("A1").Value & "_" & Format(Worksheets(ListBox1.List(i)). _
Range("B1").Value, "dd.mm.yyyy")
'MsgBox ListBox1.List(i)
End If
Next i
Unload Me
End Sub
Gruß
Jochen

Anzeige
AW: Register über Inputbox als PDF speichern
26.02.2015 18:01:19
Andy
Hallo,
danke nochmal für die Hilfe, hat soweit auch gut geklappt.
Habe noch eine kleinen Wunsch, ich würde gerne die ausgewählten Tabellen in eine PDF Datei zusammen führen und nicht als einzelne PDF Dateien speichern, deshalb brauche ich auch beim speichern den Zellbezug für Namen und Datum der Datei.
Vielen Dank im voraus
Andy
"C:\Daten\temp\" & Worksheets("Tabelle2") _
.Range("A1").Value & "_" & Format(Worksheets("Tabelle2"). _
Range("B1").Value, "dd.mm.yyyy")

383 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige