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.

VBA Code fortlaufende Tabelle
#1
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
Antworten Top
#2
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
Antworten Top
#3
Super Funktioniert vielen Dank :)
Antworten Top


Gehe zu:


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