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
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
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
Top
#4
Danke Uwe und Gast 123, ich teste das morgen.
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)
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
Top


Gehe zu:


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