Clever-Excel-Forum

Normale Version: VBA Code fortlaufende Tabelle
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Excel-Experten, 

ich hoffe ihr seid gut ins Neue Jahr gestartet. 

Ich habe eine Frage zu einem VBA Code. 

Ich habe eine Tabelle die als Schichtprotokoll geführt werden soll. 
Diese Tabelle soll fortlaufend benutzt werden. 
Also Schicht 1 schreibt in die Zelle A1 rein was sie gemacht hat. 
Schicht 2 schreibt dann in Zelle A2 usw. 

Ich habe einen Button neben der Tabelle eingefügt und mit einem Makro versehen welches dann aus der Tabelle eine PDF erzeugt und eine Mail mit den entsprechenden Personen im Verteiler sendet. 
Das funktioniert auch alles. 

Was aber mit meinem VBA-Code passiert ist dass er die gesamte Tabelle als PDF macht. 
Ich möchte aber nur den "neuen" Bereich als pdf an der Mail haben. 
Also den Bereich der neu dazu kam. 

Ich hoffe das war verständlich. 

Hier mein VBA Code : 
Sub PDF_Erzeugen_und_Per_Mail_schicken_Lager()
'** Dimensionierung der Variablen
Dim strPDF As String, strXL As String
Dim OutlookApp As Object, strEmail As Object
'** Excel Hilfsdatei zum Tabellenblatt loeschen
strXL = ThisWorkbook.Path & "" & ActiveSheet.Name & ".xlsm"
    Call ThisWorkbook.SaveCopyAs(Filename:=strXL)
  '** Vorgaben definieren
Set OutlookApp = CreateObject("Outlook.Application")
Set strEmail = OutlookApp.CreateItem(0)
'** PDF erzeugen
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "Schichtprotokoll.pdf", Quality:=xlQualityStandard _
, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
:=False
'** E-Mail versenden
strPDF = ThisWorkbook.Path & "Schichtprotokoll.pdf"
With strEmail
  .To = "test@mail.com"
    .Subject = "Schichtprotokoll_Instandhaltung"
.Body = "Hallo, anbei das Schichtprotokoll aus unserer Schicht"
.Attachments.Add strPDF
.Display
End With
'** Objektvariablen wieder löschen
Set OutlookApp = Nothing
Set strEmail = Nothing
End Sub
Hallo,

ersetze
'** PDF erzeugen
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "Schichtprotokoll.pdf", Quality:=xlQualityStandard _
, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
:=False
durch
'** PDF erzeugen
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "Schichtprotokoll.pdf", Quality:=xlQualityStandard _
, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
:=False
Vor dem Start des Makros markierst Du den entsprechenden Bereich.

Gruß Uwe
Super Funktioniert vielen Dank :)