HERBERS Excel-Forum - das Archiv

Thema: Makro: Druck und Umbenennung; Dateiname mit Zellbezug

Makro: Druck und Umbenennung; Dateiname mit Zellbezug
juergen
Hallo zusammen,
ich wäre mal wieder über einen Tipp aus diesem tollen Forum dankbar.

Folgendes soll mein Makro können: Druck als PDF und Umbenennung der Datei (Dateiname+Zellwert).

Beispiel: Datei heißt text.xlsx. Die Datei soll dann als text-20.pdf gepeicher werden, wobei der Wert "20" aus der Zelle G1 gezogen wird.

Das verwendete Makro (siehe unten) hatte einen leicht abgewandelten Zweck. Es speichert i-Versionen als PDF ab, das funktioniert soweit einwandfrei. Bei diesem Aufgabenblatt müsste ich jetzt keine "Schleife" mehr drucken, lediglich eine Seite als PDF mit angepasster Endung.

Danke vorab!!!

Jürgen


Sub Print_just_ONE_as_PDF()
Dim wks As Worksheet
Dim iZaehler As Integer
Dim strPfad As String, strFile As String, strPrintFile As String
Set wks = ActiveSheet
'oder
'Set wks =Activeworkbook.worksheets("BAB I")


If MsgBox("Blatt """ & wks.Name & """ jetzt in einer Schleife für verschiedene Werte in " _
& "G1 als PDF speichern?", _
vbQuestion + vbOKCancel, "Als PDF speichern") = vbCancel Then Exit Sub

strPfad = ActiveWorkbook.Path 'Verzeichns für Druck-Datei - ggf. anpassen
strFile = ActiveWorkbook.Name
strFile = Left(ActiveWorkbook.Name, InStrRev(strFile, ".") - 1) & "-"

With wks
For iZaehler = 1 To 1 'Wenn nicht fix, dann Endwert ggf. aus Zelle einlesen
strPrintFile = strPfad & "\" & strFile & Format(iZaehler, "00") & ".pdf"
.Range("G1") = iZaehler
.Calculate
'Tabellen als PDF speichern
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strPrintFile, ignoreprintareas:=False
Next
End With
End Sub
AW: Makro: Druck und Umbenennung; Dateiname mit Zellbezug
ralf_b
ist dein vba tatsächlich soooo schlecht, das du die Schleife nicht selbst auflösen kannst?
versuchs mal so. ohne Garantie.


Sub Print_just_ONE_as_PDF()

Dim strFile As String, strPrintFile As String

If MsgBox("Blatt " & ActiveSheet.Name & " als PDF speichern?", _
vbQuestion + vbOKCancel, "Als PDF speichern") = vbCancel Then Exit Sub

strFile = Left(ActiveWorkbook.Name, InStrRev(ActiveWorkbook.Name, ".") - 1) & "-"

With ActiveSheet
strPrintFile = ActiveWorkbook.Path & "\" & strFile & .Range("G1") & ".pdf"
.Calculate
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strPrintFile, ignoreprintareas:=False
End With
End Sub
AW: Makro: Druck und Umbenennung; Dateiname mit Zellbezug
juergen
Hallo Ralf,
ja, mein vba ist tatsächlich lausig ;-)
Lieben Dank. Makro funktioniert und macht, was es soll.
Jürgen