Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D36")) Is Nothing And Target.Count = 1 Then
If Target "" Then seite2
End If
End Sub
Sub seite2()
MsgBox "das ist das Makro ""seite2"""
End Sub
Gruß Matthias
Public Function seite2()
seite2 = "UDF 'Seite2' wurde aufgerufen !"
End Function
Diese UDF gibt einfach einen kurzen Text zurück.
Was Du aber möchtest : Bei Eingabe in Zelle D36 soll etwas passieren !?!?!
Dazu benötigst du weder eine WENN()-funktion noch eine UDF, sondern ein sog. EreignisMakro :
Excel bietet für bestimmte "Events" (=Ereignis) ein sog. Ereignismakro an, das immer dann ausgeführt wird, wenn das Ereignis eintritt.
In Deinem Fall ist das "Ereignis" eine Eingabe in Zelle D36 des entsprechenden Blattes (also eine "Änderung"/Change im entsprechenden Blatt/Sheet).
Das Ereignis-Makro lautet daher Private Sub Worksheet_SelectionChange() - genauer :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If [D36] "" Then 'Zelle D36 wird überprüft
MsgBox "In Zelle D36 wurde etwas eingetragen !"
End If
End Sub
Dieser Code gehört nicht in ein allgemeines Modul, sondern in das Klassenmodul des Tabellenblattes (also : Name des Blattes im Blattregister unten mit rechter Maustaste anklicken - "Code anzeigen..." auswählen - Code in das nun geöffnete Codefenster kopieren).
Gruß, NoNet
Private Sub Worksheet_Change(ByVal Target As Range)
If [D36] "" Then 'Zelle D36 wird überprüft
MsgBox "In Zelle D36 wurde etwas eingetragen !"
End If
End Sub
Gruß, NoNet
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Cells(36, 4)) Is Nothing Then
If Cells(36, 4) "" Then seite2
' oder
' If Not IsEmpty(Cells(36, 4)) Then seite2
End If
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
@Robert:
Wo sollte denn die Formel stehen? Wenn sie in D36 steht und in D36 etwas eingegeben wird - ist sie WEG!
Außerdem wärs ein Zirkelbezug...
Ich habe auch noch nicht gesehen, dass eine Subroutine aus einer Tabelle heraus
durch Hinschreiben des Namens in einer Formel gestartet werden könnte.
Anders natürlich die Auswertung einer UDF, also einer benutzerdefinierten Funktion.