Clever-Excel-Forum

Normale Version: VBA MsgBox Wenn Funktion
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

Hinsichtlich der Programmierung von MessageBoxen bin ich ein voller Anfänger. Allerdings habe ich mich schon durch viele Tutorials gelesen, finde aber immer noch keine Antwort auf mein Problem.

Und zwar möchte ich eine MsgBox aufrufen lassen, wenn in der Zelle E8 der Text "keine Kosten" steht. Der Text "keine Kosten" wird durch eine Wenn Formel in Excel erstellt, falls die Info für die VBA wichtitg ist.

Das Design der MessageBox habe ich schon: MsgBox "Prüfung kritisches Bauteil", vbExclamation + vbOKCancel, "Achtung"
Allerdings bekomme ich die If-Verknüpfung zu der Zelle und dem Text nicht hin. Könnt ihr mir dabei weiterhelfen?

Im zweiten Schritt würde ich gerne einen Schritt weiter gehen. Und zwar,wenn man in der MsgBox "Ok" anklickt , dass sich ein weiteres Dokument öffnen lässt und bei "Abbrechen" einfach die MsgBox schließen. Gerne reicht mir aber der erste Schritt schon!!!

Danke euch!
Hallo Susi,

das ist schon entscheidend ob per Formel oder mit händischer Eingabe. Hierzu sollte man aber wissen, in welcher Zelle eine Eingabe erfolgt, die dann deine Formel in E8 auslöst. Zeig mal die Formel in E8.

Gruß Werner
Habe eine Lösung gefunden:

Private Sub Worksheet_Calculate()
 If ActiveSheet.Range("E8").Value = "Keine Kosten" Then
 If MsgBox(prompt:="Prüfung kritisches Bauteil", _
            Buttons:=vbExclamation + vbOKCancel, _
            Title:="Achtung") = vbOK Then
    Workbooks.Open Filename:="filename...."
End If
 
 End If

 End Sub

Trotzdem Danke!
Hallo Susi,

dann viel Spaß damit. Das Makro löst bei jeder Neuberechnung, egal wo auf dem Blatt diese Berechnung stattfindet, aus.

Gruß Werner
Hallöchen,

um das mal noch zu konkretisieren - wenn in E8 "Keine Kosten" steht, dann bekommst Du die Meldung bei jeder Neuberechnung, wie Werner es meint. Steht dort was anderes, dann kommt natürlich keine Meldung.

Wenn Du auf eine Eingabe der in der Formel verwendeten Zellen reagierst, dann kommt die Meldung nur dann, wenn Deine Eingabe zu dem Ergebnis führt. Allerdings musst Du eventuell mehrere Blätter berücksichtigen oder beim Öffnen der Datei auch eine andere Mappe, falls sich die Formel auf "externe" Daten bezieht.

Weiterhin gibt es Sonderfälle, wo kein Change-Ereignis ausgelöst wird, z.B. bei Eingabe über eine Combobox Sad

Aber, wie Werner schon sinngemäß schrieb, wäre die Kenntnis Deiner Formel angebracht...