Zwei Tabellenblätter per E-Mail versenden
Schritt-für-Schritt-Anleitung
Um zwei Tabellenblätter aus einer Excel-Datei per E-Mail zu versenden, kannst du den folgenden VBA-Code verwenden. Dieser Code erstellt zwei separate Dateien, die dann als Anhänge verschickt werden.
Sub ZweiBlätterSenden()
Dim wb As Workbook
Dim OutMail As Object
Dim Datei1 As String, Datei2 As String
' Erstes Blatt kopieren und speichern
Sheets("Tabelle1").Copy
Set wb = ActiveWorkbook
Datei1 = "C:\Pfad\zu\deiner\Datei1.xlsx"
wb.SaveAs Datei1
wb.Close
' Zweites Blatt kopieren und speichern
Sheets("Tabelle2").Copy
Set wb = ActiveWorkbook
Datei2 = "C:\Pfad\zu\deiner\Datei2.xlsx"
wb.SaveAs Datei2
wb.Close
' E-Mail senden
Set OutMail = CreateObject("Outlook.Application").CreateItem(0)
With OutMail
.To = "deine.email@example.com"
.CC = ""
.BCC = ""
.Subject = "Hier sind die angeforderten Tabellenblätter"
.Body = "Hallo," & vbCrLf & "anbei die Tabellenblätter." & vbCrLf & "Vielen Dank!"
.Attachments.Add Datei1
.Attachments.Add Datei2
.Send
End With
Set OutMail = Nothing
End Sub
Stelle sicher, dass du den Pfad zu deinen Dateien sowie die E-Mail-Adresse anpasst.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn du keine VBA-Programmierung verwenden möchtest, kannst du auch manuell zwei Tabellenblätter als separate Dateien speichern und diese dann per E-Mail versenden. Dies ist jedoch zeitaufwändiger und weniger automatisiert.
Praktische Beispiele
Angenommen, du hast zwei Tabellenblätter mit den Namen "Umsatz" und "Kunden". Mit dem obigen VBA-Code kannst du diese beiden Blätter einfach als separate Dateien speichern und versenden.
Tipps für Profis
- Du kannst den E-Mail-Text dynamisch gestalten, indem du Zelleninhalte einfügst. Beispiel:
.Body = "Hallo," & vbCrLf & "Der Umsatz liegt bei: " & Sheets("Umsatz").Range("A1").Value & vbCrLf & "Vielen Dank!"
- Teste den Code immer in einer Kopie deiner Excel-Datei, um Datenverluste zu vermeiden.
FAQ: Häufige Fragen
1. Wie kann ich die E-Mail mit einem vordefinierten Text automatisch versehen?
Du kannst den Text im .Body
-Feld des E-Mail-Objekts festlegen, wie im Beispiel oben gezeigt.
2. Wie füge ich Zelleninhalte in den E-Mail-Text ein?
Deklariere die Zelleninhalte als Variablen und füge sie einfach im .Body
-Feld ein, um dynamische Inhalte zu erstellen.