590 Aufrufe
Gefragt in Windows 7 von
Hallo Ihr Excel Spezialisten. Ein Makro erstelle ich bislang mit dem Makro Recorder.
Hier mein Problem: Beim Abspeichern einer Excel-Datei, die vorher Umgewandelt wird in eine PDF-Datei gebrauche ich die Abfrage, unter welchem Namen gespeichert werden soll( bzw. der Name ist vorgegeben, nur das Datum davor nicht)
Hier mein Makro Leider ohne Abfrage:-(

Sub Makro1()
'
' Makro1 Makro
'
' Tastenkombination: Strg+k
'
Range("A1:I14").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"Z:\Derk\Klaas + Kock vorab geschickte Touren\2016 K+K vorab geschickte Touren\01.01.2016 Fettabscheidertour A + A.pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
Range("B3").Select
End Sub

4 Antworten

0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo,

probier es mal so:

Sub PDF()
'
' Tastenkombination: Strg+k
'
Dim strEingabe As String
Dim strName As String

'Abfrage Dateiname
strEingabe = InputBox("Bitte geben Sie Namen ein!", "Eingabe Dateiname")

'Falls Dateiname leer ist, dann Abbruch
If strEingabe = "" Then
MsgBox "Kein gültiger Dateiname!", 16, "Abbruch!"
Exit Sub
End If

'Dateiname und Pfad zusammenbauen
strName = "Z:\Derk\Klaas + Kock vorab geschickte Touren\2016 K+K vorab geschickte Touren\" & strEingabe & ".pdf"

'Bereich als PDF speichern
With ActiveSheet.Range("A1:I14")
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strName _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
.Range("B3").Select
End With

End Sub


Gruß

M.O.
0 Punkte
Beantwortet von
Ich bin begeistert...Vielen Dank....
Eine Frage noch: Ist es denn auch möglich, bei der Eingabe des Dateinamens schon vor eingestellten Namen stehen zu haben um selber dann nur das Datum im Namen zu ändern?
Das währ dann perfekt. :-)
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo,

auch das ist möglich. Dann musst die Zeile mit der Inputbox wie folgt ändern:
'Abfrage Dateiname
strEingabe = InputBox("Bitte geben Sie Namen ein!", "Eingabe Dateiname", "Vorbelegter Name")

Statt "Vorbelegter Name" musst du natürlich hier deinen entsprechenden Dateinamen reinschreiben.

Gruß

M.O.
0 Punkte
Beantwortet von
SUPER!!!
Vielen DANK!!
...