Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
228to232
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
228to232
228to232
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Worksheet_Change bedingt ausführen

Worksheet_Change bedingt ausführen
07.03.2003 21:49:50
Jens_Pu
Hallo Excelfreunde,

in einem Tabellenblatt kann ich Eingaben direkt in die Tabelle vornehmen, oder über eine UserForm-Eingabemaske.
Wird ein Wert in die Tabelle eingegeben, so wird das Worksheet_Change Ereignis ausgelöst. Drücke ich in meiner UserForm den Commandbutton "Speichern", so werden die Werte der UserForm in die Tabelle eingetragen. Dabei wird ebenfalls das Worksheet_Change Ereignis ausgelöst.

Frage: Ich müßte innerhalb des Worksheet_Change Ereignisses unterscheiden ob das Ereignis durch manuell Eingabe in die Tabelle, oder über den UserForm-Commandbutton ausgelöst wurde. Geht das irgend wie?

Gruß Jens

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Worksheet_Change bedingt ausführen
07.03.2003 21:52:39
Hajo_Zi

Hallo Jens

ich will das jetzt nicht mehr testen. Schalte ie Reaktion auf die Eingabe ab und wieder ein
Application.EnableEvents = False
' zelleneingabe
Application.EnableEvents = True

Gruß hajo

Re: Worksheet_Change bedingt ausführen
07.03.2003 23:22:13
Jens_Pu

Hallo Hajo,

was will er mir damit sagen?

Das kenne ich schon, doch wann und wo sollte ich das ein ein und aus schalten?

Im Worksheet_Change Ereugnis soll ja in beiden Fällen ausgeführt werden. Nur bei einem Befehl (Positionierung des Target auf eine andere Zelle) muß ich unterscheiden. Dieser Befehl soll beim Aufruf des Ereignisses von der Userform aus NICHT ausgeführt werden.

Gruß Jens

Anzeige
Re: Worksheet_Change bedingt ausführen
08.03.2003 02:22:06
Matthias Gößner

Hallo Jens,
ist zwar keine "saubere" Lösung, aber wie wär's, wenn du eine globale Variable definierst und diese beim Aufruf vom Userform auf true setzt?
Sie müsste in der Worksheet_Change-Prozedur nach der Abfrage wieder auf false gesetzt werden.

mfg, Matthias


Re: Worksheet_Change bedingt ausführen
08.03.2003 06:52:04
Jens_Pu

Hallo Matthias,

das ist mir im Bett um ca 01.00h auch schon eingefallen.
Wenn keiner eine andere Lösung hat, werde ich es so machen.

Gruß Jens

Re: Worksheet_Change bedingt ausführen
08.03.2003 07:44:37
Hajo_Zi

Hallo Jens

jetzt schreibst Du mit einmal was von Positinierung/selection??

Du hast geschrieben das das Change Ereignis inmal ausgeführt werden soll und einmal nicht. Bei der zweiten Variante würde ich meinen Befehl Benutzen, benor was in die zelle geschrieben wird.

Gruß Hajo

Anzeige
Re: Worksheet_Change bedingt ausführen
08.03.2003 08:15:05
Jens_Pu

Hallo Hajo,

ist recht kompliziert. Ich versuch es mal.

Die Werte in der Tabelle können entweder durch direkte Eingabe in die Tabelle,
oder durch eine Userform Eingabemaske geändert werden.

1. Eingabe in Tabelle:
Bei der Eingabe direkt in die Tabelle, wird über das Worksheet_Change Ereignis jeweils die nächste Eingabezelle angesprungen (z.B. Target.Offset(0, 3).Select).
Außerdem werden in Abhängigkeit der Werte die Zellfarben verändert.

2. Eingabe über Eingabemaske
Beim Verlassen der Eingabemaske werden die Textfeldwerte der Userform in die jeweiligen Zellen geschrieben.
Auch hier wird, und soll das Worksheet_Change Ereignis aufgerufen werden, damit die Anpassung der Zellfarben durchgeführt wird.

Problem: Ich muß innerhalb des Worksheet_Change Ereignisses unterscheiden können zwischen Tabelleneingabe und Formulareingabe.
Z.B. If Tabelleneingabe Then Target.Offset(0, 3).Select)
Mache ich das nicht, so kommt mir meine Formularsteuerung wegen verschobener Referenz durcheinander.

Mit Application.EnableEvents = False/True bei der UserForm_Initialize würde ich keine Farbsteuerung erhalten.

Ich hoffe das ist einigermaßen verständlich.

Gruß Jens




Anzeige

180 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige