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.

Sheet-Bezeichnung für Druck dynamisch ermitteln
#1
Hallo Community,


ich habe folgendes Problem. In einer Arbeitsmappe habe ich pro Monat ein Blatt mit Daten (z.B. März 2021; April 2021 usw.). Bei jedem Speichern der Mappe, soll das Sheet des aktuellen Monats als PDF in ein Verzeichnis abgelegt werden. Den Code dafür lautet:



Code:
Private Sub Workbook_BeforeSave

ThisWorkbook.Sheets("März 2021").ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\........\Ausdruck.pdf" _
  , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
  :=False, OpenAfterPublish:=False

End Sub




Das funktioniert auch schon soweit, nur möchte ich nicht jeden Monat den Code anpassen. Gibt es eine Möglichkeit, dass das Tabellenblatt, des jeweils aktuellen Monats, also das „März 2021“ dynamisch ermittelt wird?



Für eure Ideen und Lösungsvorschläge sage ich schon jetzt mal danke. Ich bin mit meinem Wissen gerade am Ende. Habe leider nur bescheidenen VBA-Kenntnisse.


Viele Grüße

Andreas
Antworten Top
#2
aktiviere das Sheet was gedruckt werden soll und setzte folgenden Code ein:

Code:
Private Sub test()

ThisWorkbook.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\........\" & ActiveSheet.Name & " Ausdruck.pdf" _
  , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
  :=False, OpenAfterPublish:=False

End Sub

Gruß Uwe
Antworten Top
#3
Hallo

da fallen mir ganz spontan zwei Lösungen zu ein. Suche dir bitte die aus die dir gefaellt.
1.  Den Blattnamen über İnpuBox abfragen   
2. Die Druckliste immer an die gleiche Stelle setzen und über Index gehen. Ob das 1,2,3 ist spielt keine Rolle, genau das Blatt wird gedruckt!

mfg Gast 123

Code:
Sub Test_1()
Dim Sht As Variant
    Sht = InputBox("Bitte den Tabellennamen angeben")
    If Sht = Empty Then Exit Sub
Code:
    ThisWorkbook.Sheets(Sht).ExportAsFixedFormat
Code:
End Sub

Sub Test_2()
'Druckliste an bestimmte Stelle setzen
ThisWorkbook.Sheets(2).ExportAsFixedFormat
End Sub
Antworten Top
#4
Danke Uwe und Gast 123, ich teste das morgen.
Antworten Top
#5
Moin!
Das Blatt des aktuellen Monats wählst Du so aus:
PHP-Code:
Worksheets(Format(Date"mmmm yyyy")).ExportAsFixedFormat [

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#6
Hallo, ich habe es jetzt so gelöst, dass ich erst das Sheet des aktuellen Monats auswähle und dieses dann exportiere.

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Sheets(Format(Now, "mmmm yyyy")).Activate

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\......\Ausdruck.pdf" _
  , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
  :=False, OpenAfterPublish:=False
 
End Sub

Danke für eure Hilfe.

Viele Grüße
Andreas
Antworten Top


Gehe zu:


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