Relativer Zellenbezug von aktiver Zelle
16.07.2020 15:09:31
aktiver
bin auf dieses tolle Forum gestoßen. Eins vorweg ich hatte bis heute morgen absolut nichts mit Makros, VBA oder vergleichbarem zu tun, habe mich mich bisher an die einfachen Excel-Formeln gehalten. Man verzeihe mir also umständliche programmierung :P. Nun habe ich mich an meinem ersten Makro versucht. Ziel soll es sein aus meiner Excel Liste heraus eine Email zu generieren, die an das Zurücksenden von Schulungsunterlagen erinnern soll. Ich habe in meiner Liste Daten wie "Schulungsbezeichnung", "Name Teilnehmer"; "SchulungsID", "Schulungsdatum". Ich habe das Makro als Test auf die erste Zeile mit meinem Namen definiert. Dabei habe ich die Angaben, die in der Mail enthalten sein sollen (Q2 - Emailadresse; F2- Name (in dem Fall meiner) und die weiteren Angaben die der Empfänger benötigt in den Body geschrieben.
Ausgelöst wird das Makro durch Ändern eines Wertes einer beliebigen Zelle der Spalte A (da steht dann Mahnungsnummer), sprich trage ich 1 ein, zündet das Makro ich kann die Mail sofort versenden und ich weiß das war die erste Erinnerung. Dafür habe ich einen Code im Tabellenblatt (siehe unten).
Das funktioniert super, bis auf die Tatsache, dass ich das auf die erste Zeile (Meine Werte Q2, B2; D2) definiert habe. Ich hätte das gerne so gelöst dass, wenn ich den Wert in Zelle A8 ändere, in der Mail die Werte der Zellen Q8, B8, D8 ausgegeben werden. Also immer die Werte von der Zeile in der ich die Änderung vornehme. Ich hoffe sehr, dass mir hier erneut weitergeholfen werden kann.
Hier das Makro:
Sub Mahnen_richtiges_Format()
Range("Q2") = Now
Dim objOutlook As Object
Dim objMail As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = Range("O2")
.Subject = "Erinnerung einer fehlenden Unterlagen"
.htmlBody = "Sehr geehrte(r) Herr / Frau " & Range("F2") & ",
" _
& "leider konnten wir noch keinen Eingang, über eine Ihrer persönlichen Schulungsunterlagen feststellen. Dies betrifft die Wirksamkeitsanalyse mit folgenden Eckdaten:
" _
& "Schulungstyp: " & Range("B2") & "
" & "Schulungs-ID: " & Range("M2") & "
" & "Schulungsdatum: " & Range("D2") & "
" _
& "
" & " Dies ist die " _
& Range("A2") & ". Mahnung, bitte senden Sie das vollständig ausgefüllte Dokument bis zum " & Range("N2") & " an den Veranstalter(beispiel@beispiel.com)
" _
& "Sollten Sie das Dokument nicht auffinden können, wenden Sie sich bitte ebenfalls an angebebene E-Mailadresse.
" _
& "Ihr Veranstalter." _
& "
Tel.: 0123
Email: beispiel@beispiel.com"
.Display
End With
Set objMail = Nothing
Set objOutlook = Nothing
End Sub
Hier der Tabellencode:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
Call Mahnen_richtiges_Format
End Sub
Besten Dank euch im Voraus!
Gruß Domi