Makrostart bei Zellupdate

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox


Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: Makrostart bei Zellupdate
von: Dieter
Geschrieben am: 09.06.2002 - 20:48:25

Hallo Excel Spezialisten,
kann ich das Verlassen einer bestimmten Zelle als Ereignis für einen Makrostart nutzen (ähnlich wie Worksheet deactivate).
Bisher musste bei meiner Anwendung immer der Eingebende entscheiden ob er nach einem bestimmten Eintrag in eine bestimmte Zelle ein Schaltelement drückt um zu einer anderen Maske zu gelangen oder nicht. Das möchte ich automatisieren, indem ich wenn es möglich ist, das verlassen dieser bestimmten Zelle zum Aufruf des Makros das den Wechsel veranlasst benutze.
Wäre nett, wenn mir jemand helfen könnte.
Gruß Dieter

nach oben   nach unten

Re: Makrostart bei Zellupdate
von: Sören Wiechert
Geschrieben am: 09.06.2002 - 21:24:43

Hallo Dieter,

in folgender Funktion wird nach jedem Zellenwechsel die Zelle aus der gewechselt wurde in einer globalen Variablen ("myLastCell") gespeichert. Wenn nun ein Zellenwechsel erfolgt, dann wird verglichen, ob die Zelle aus der gewechselt wurde (myLastCell) eben die ist, die dann das Ereignis auslösen soll.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not myLastCell Is Nothing Then _
If Not Application.Intersect(myLastCell, ActiveSheet.Range("B3")) Is Nothing Then _
MsgBox "Hallo"

Set myLastCell = Target
End Sub

Die Variable im Deklarationsbereich des Worksheets anlegen:

Dim myLastCell as Range

Gruß,
Sören

nach oben   nach unten

Re: Makrostart bei Zellupdate
von: Schubi
Geschrieben am: 09.06.2002 - 23:39:21

Hmm,
ich habe ein ganz ähnliches Problem wie Dieter und ich glaube wenn ich deine Antwort verstehen würde, könnte sie mein Problem lösen. Nur leider bin ich noch SEHR frisch in VBA.
Meine Frage also: Was muss ich konkret in den Code eintragen, wenn ich ein Makro abspielen möchte (nennen wir es kreativerweise "makro") sobald in den Zellen I3:I50 ein neuer Wert eingetragen wird.
Wäre sehr happy über aufschlussreiche Antworten oder Tipps, danke.

nach oben   nach unten

Re: Makrostart bei Zellupdate
von: Dieter
Geschrieben am: 10.06.2002 - 05:19:45

Hallo Sören,
danke für die schnelle Hilfe.
Ein kurzer Test hat mir gezeigt, das es das Richtige
für meine Zwecke ist.
Gruß Dieter

nach oben   nach unten

an Schubi: Bereich "ueberwachen"
von: Volker Croll
Geschrieben am: 10.06.2002 - 13:03:42

Hallo Schubi,

teste mal:


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Dim Bereich As Range
    Set Bereich = Range("I3:I50")

'   Pruefen, ob sich die geaenderte Zelle im Bereich befindet:
    If Not Intersect(Target, Bereich) Is Nothing Then
        DeinMakro
    End If
    
End Sub

Dies wird nicht(!) in ein Modul geschrieben, sondern im VBA-Editor das entsprechende Tabellenblatt anklicken, und dann rechts im Codefenster diese Anweisungen eingeben.

Gruss Volker

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Makrostart bei Zellupdate"