Hatte diesen Beitrag schon mal drin. er ist leider versandet und desshalb versuche ich es heute nochmals.
Der unten eingefügte Code, sendet ein E-Mail, wenn die Tabelle gesichert wird.
In diesen Mailtext wollte ich nun die Gerätenummer (die in Spalte A steht) einfügen lassen.
Um in der Spalte A an die jeweilige Gerätenummer zu gelangen, dachte ich, wäre die Lösung folgende:
man nimmt das aktuelle Datum aus der Spalte B, dann den Wert aus der Zelle neben dran (Spalte A) und lässt diesen in den Mailtext reinschreiben.
Die Lösung habe ich hier auch erhalten, funktioniert aber leider nicht, da das Datum in Spalte B mit der Formel wie folgt ermittelt wird:
=WENN(ISTNV(SVERWEIS(MAX('29535'!$A$3:$A$25);'29535'!$A$3:$E$25;1;WAHR));"";SVERWEIS(MAX('29535'!$A$3:$A$25);'29535'!$A$3:$E$25;1;WAHR))
und somit kann der Code natürlich das Datum in Spalte B nicht erkennen.
Gibt es für mein Problem in etwa eine derartige Lösung in VBA wie:
Wenn sich in Spalte B (oder C) was verändert hat, dann gebe die Zahl (Gerätenummer) aus der Zelle in Spalte A aus der geänderten Zeile zurück.
Hier nochmals der Code, wie er zur Zeit ausschaut:
Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim ol, mail As Object Set ol = CreateObject("Outlook.Application") Set mail = ol.CreateItem(0) mail.Subject = "PiccoLink Reparaturkontrolle Sender wurde gespeichert " & Now mail.To = "hans.muster@mailserver.ch" 'mail.cc = "" 'mail.bcc = "" mail.body = "Am Datenblatt zur Gerätenummer " & Sheets("Ü B E R S I C H T ").Range("B2:B33").Find(Date).Offset(0, -1) & vbCrLf & "wurde ein Eintrag gemacht" mail.Display mail.send End Sub
Ich brauche die Lösung im Bereich "mail.body"
Vielen Dank und Gruss
Glen