Hallo,
meine Empfehlung: organisiere dir ein Buch mit dem du die Grundzüge von VBA in Verbindung mit Excel lernen kannst.
Dieser Code kann eine Grundlage sein, um aus Excel heraus eine E-Mail in Outlook zu erstellen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | Sub MailMitOutlook()
Dim oApp As Object
Dim strSignatur As String
Set oApp = CreateObject( "OUTLOOK.Application" )
With oApp.CreateItem(0)
. To = "An@example.com"
.Cc = "CC@example.com"
.Bcc = "bcc@example.com"
.Subject = "das ist der Betreff"
.Body = "Hallo," & vblf & "das ist der Reintext-body" & vbLf & strSignatur
.Display
End With
End Sub
|
Hast du die Zeilennummer und die Spaltennummer einer Zelle (Spalte A hat die Nummer 1 und Spalte C die Nummer 3, ...), kannst du mit VBA auf den Zellinhalt zugreifen. Zum Beispiel hier für die Zelle A2:
1 2 3 4 5 6 7 | sub beispiel_zellzugriff()
dim Zeile as long
dim Spalte as long
Zeile = 2
Spalte = 1
msgbox cells(Zeile, Spalte).value
end sub
|
Mehrere Zeichenketten werden durch den Operator & miteinander verbunden. Zum Beispiel die Zelle A12 und B15:
1 2 3 4 5 6 7 8 | sub beispiel_2()
dim MeinText as string
MeinText = Cells(12, 1).value & cells(15, 2).value
msgbox MeinText
MeinText = MeinText & vbcrlf & "Noch eine Zeile"
msgbox MeinText
end sub
|
vbcrlf ist in VBA eine Konstante (eine Variable, deren Inhalt nicht geändert werden kann). Sie entspricht dem Zeilenumbruch unter Windows.
ok, machen wir eine E-Mail:
Empfänger steht in Spalte A
Betreff in Spalte B, dann ein Leerzeichen und dann Spalte C
Der Text der E-Mail soll folgender sein:
Hallo Lücke1,
das ist der Inhalt der Zelle D: Lücke2
und das der Inhalt der Zelle E: Lücke3.
Die Daten stammen alle aus Zeile Lücke4.
Viele Grüße,
Lücke5
Und los gehts:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | Sub Mail_luecken()
Dim oApp As Object
dim strBody as string
dim Zeile as long
Zeile = 2
strBody = "Hallo Lücke1," & vbcrlf & vbcrlf & "das ist der Inhalt der Zelle D: Lücke2" & vbcrlf & _
"und das der Inhalt der Zelle E: Lücke3." & vbcrlf & vbcrlf & _
"Die Daten stammen alle aus Zeile Lücke4." & vbcrlf & vbcrlf & _
"Viele Grüße," & vbcrlf & "Lücke5"
strBody = replace(strBody, "Lücke1" , cells(Zeile, 1).value)
strBody = replace(strBody, "Lücke2" , cells(Zeile, 4).value)
strBody = replace(strBody, "Lücke3" , cells(Zeile, 5).value)
strBody = replace(strBody, "Lücke4" , Zeile)
Set oApp = CreateObject( "OUTLOOK.Application" )
With oApp.CreateItem(0)
. To = "An@example.com"
.Cc = "CC@example.com"
.Bcc = "bcc@example.com"
.Subject = "das ist der Betreff"
.Body = "Hallo," & vblf & "das ist der Reintext-body" & vbLf & strSignatur
.Display
End With
End Sub
|
|