Funktion bei Zelländerung auslösen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:


Excel-Version: 2000
nach unten

Betrifft: Funktion bei Zelländerung auslösen
von: Uwe
Geschrieben am: 27.04.2002 - 18:09:59

Ich plage mich damit, in einem Arbeitsblatt bei Änderung eines Zellwertes, sagen wir A2>20, eine Aktion (Messagebox oder/und Sound)auszulösen. Habe mit Private Sub Worksheet_Change gearbeitet. Dies funktioniert aber nur, wenn ich den Zellwert von A2 manuell ändere. Bei mir ist A2 aber ein von anderen Funktionen abhängiger Zellwert.

nach oben   nach unten

Re: Funktion bei Zelländerung auslösen
von: Hajo
Geschrieben am: 27.04.2002 - 18:28:15

Hallo Uwe folgender Code
Public Variable As Boolean Private Sub Worksheet_Calculate()     If Range("A2") > 20 And Variable = False Then         MsgBox "Test"         Variable = True     Else         Variable = False     End If End Sub
Gruß Hajo

nach oben   nach unten

Re: Funktion bei Zelländerung auslösen
von: Uwe
Geschrieben am: 28.04.2002 - 11:40:20

Hallo Hajo, vielen Dank für die funktionstüchtige Lösung. Habe mein Problem etwas vereinfacht dargestellt. Tatsächlich müssen 12 Zellen überprüft werden. Gibt es statt 12 Mal If-Block eine elegantere Lösung? Außerdem würde ich gern die Bedeutung der Boolschen Variablen in dem Geschehen wissen. Vielen Dank Uwe

nach oben   nach unten

Re: Funktion bei Zelländerung auslösen
von: Hajo
Geschrieben am: 28.04.2002 - 12:14:25

Hallo Uwe Die Variable habe ich nur als Boolean Definiert, weil es nur zwei Werte gibt ja und Nein und Boolean braucht den geringsten Speicher. Es ist ja nur die Information wichtig ob die Msgbox schon mal angezeigt wurde oder nicht. Für Deine 12 Zellen habe ich erstmal keinen Anatz. Du müßtest ja für jede Zelle eine Variable haben die den Wert True oder False annehmen muß. Gruß Hajo

nach oben   nach unten

Re: Vielen Dank, Hajo
von: Uwe
Geschrieben am: 28.04.2002 - 19:19:30

Hallo Hajo, habe es mit 12 Variablen geschafft. Ist zwar nicht sehr elegant, aber es funktioniert. Vielen Dank für die elle Hilfe. Uwe

nach oben   nach unten

Re: Ansatz
von: Hajo
Geschrieben am: 28.04.2002 - 19:42:54

Hallo Uwe ich wollte nicht den Aufwand treiben und ich nehme an dein Code ist recht lang. Vielleicht könnte man das über ein 2 Dimensionales Array leichter lösen. Erste Stelle Zelladresse und zweite Stelle der Wert und dann wäre es nur eine For Next Schleife. Gruß Hajo

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Funktion bei Zelländerung auslösen"