Das kann man so machen:
Erstelle zunächst eine Funktion, die den Zellwert prüft und entscheidet, ob eine Info-Mail gesendet werden muss oder nicht. Diese Funktion könnte zum Beispiel so aussehen:
Function CheckValueAndSendEmail(cell As Range, threshold As Double) As Boolean
Dim value As Double
value = cell.Value
If value > threshold Then
CheckValueAndSendEmail = True
Else
CheckValueAndSendEmail = False
End If
End Function
Erstelle eine weitere Funktion, die die Info-Mail mit Outlook versendet. Diese Funktion könnte so aussehen:
Function SendEmail() As Boolean
Dim outlookApp As Outlook.Application
Dim outlookMail As Outlook.MailItem
Set outlookApp = CreateObject("Outlook.Application")
Set outlookMail = outlookApp.CreateItem(olMailItem)
With outlookMail
.To = "empfänger@beispiel.de"
.Subject = "Wichtige Information"
.Body = "Der Zellwert hat den Grenzwert überschritten."
.Send
End With
Set outlookMail = Nothing
Set outlookApp = Nothing
SendEmail = True
End Function
Rufe diese beiden Funktionen in einem Makro auf, das bei Änderungen in der Tabelle ausgeführt wird. Hier ist ein Beispiel für das Makro:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim threshold As Double
threshold = 100 ' Hier könnte man auch eine Zelle als Quelle für den Grenzwert definieren
If CheckValueAndSendEmail(Target, threshold) Then
SendEmail
End If
End Sub
Das Makro würde dann jedes Mal ausgeführt werden, wenn sich der Wert in einer Zelle der Tabelle ändert. Wenn der neue Wert den Grenzwert überschreitet, würde die Info-Mail versandt werden.