[Geläst] Problem mit denEreignissen Auswahl geändert und Inhalt geändert
Verfasst: Fr 8. Nov 2024, 18:12
Hallo liebe Experten,
beim Herumspielen mit den Ereignissen ist mir aufgefallen, dass bei der Änderung der Auswahl wie auch bei der Änderung des Inhalts einer Zelle das Ergebnis nicht meinen Erwartungen entsprochen hat; die anderen Ereignisse lassen sich problemlos verarbeiten. Mag sein, dass dies an meiner Erwartungshaltung liegt - ich werde mal versuchen, das Resultat meiner Versuche in Worte zu fassen:
1. Änderung des Inhalts einer Zelle:
Das Schreiben eines Wertes in eine Zelle ist unproblematisch; beim Verlassen der geänderten Zelle duch Anklicken einer anderen Zelle erscheint die im Code vorgegebene Meldung. Beim Bewegen des Cursor auf die MsgBox (um die angezeigte Meldung samt Box wegzuklicken) werden alle Zellen markiert, über welche die Spitze des Maus-Cursor auf dem Weg zur MsgBox bewegt wird. Nach dem Wegklicken der MsgBox ist also - je nach Position der geänderten Zelle - ein mehr oder minder großer Bereich markiert. Das ist unschön, aber nicht weiter schlimm, denn beim Zurückbewegen des Mauspfeiles auf die geänderte Zelle verschwindet die Markierung wieder und wenn man dann die besagte Zelle anklickt, dann bleibt diese Markierung auch verschwunden.
2. Änderung der Auswahl
Ähnliches passiert beim Anklicken einer noch nicht ausgewählten Zelle, also beim Ändern der Selection. Zunächst erscheint wie gewünscht die entsprechende Meldung. Bewegt man nun den Cursor von der eben ausgewählten Zelle zur MsgBox, so wird auch hier der überfahrene Zellbereich markiert. Dieses Markieren - so vermute ich - hat aber zur Folge, dass die MsgBox nach dem Wegklicken sofort wieder aufgerufen wird. So gerät man unversehens in eine Art Endlosschleife.
Wo kann / muss ich ansetzen, um dieses Verhalten künftig zu unterbinden?
Eine Beispiel-Datei (Ereignisse.ods) werde/habe ich hoch/ge/laden. Bei dieser Datei ist dem Ereignis "Auswahl geändert" noch kein Makro zugeordnet; das entsprechende Makro (Demo_pEvent_SelectChang()) ist aber schon dabei.
Mein LO (24.2.6.2, x86) läuft unter Windows 11.
Vorab vielen Dank für Eure Unterstützung und
liebe Grüße
vom Martin
beim Herumspielen mit den Ereignissen ist mir aufgefallen, dass bei der Änderung der Auswahl wie auch bei der Änderung des Inhalts einer Zelle das Ergebnis nicht meinen Erwartungen entsprochen hat; die anderen Ereignisse lassen sich problemlos verarbeiten. Mag sein, dass dies an meiner Erwartungshaltung liegt - ich werde mal versuchen, das Resultat meiner Versuche in Worte zu fassen:
1. Änderung des Inhalts einer Zelle:
Das Schreiben eines Wertes in eine Zelle ist unproblematisch; beim Verlassen der geänderten Zelle duch Anklicken einer anderen Zelle erscheint die im Code vorgegebene Meldung. Beim Bewegen des Cursor auf die MsgBox (um die angezeigte Meldung samt Box wegzuklicken) werden alle Zellen markiert, über welche die Spitze des Maus-Cursor auf dem Weg zur MsgBox bewegt wird. Nach dem Wegklicken der MsgBox ist also - je nach Position der geänderten Zelle - ein mehr oder minder großer Bereich markiert. Das ist unschön, aber nicht weiter schlimm, denn beim Zurückbewegen des Mauspfeiles auf die geänderte Zelle verschwindet die Markierung wieder und wenn man dann die besagte Zelle anklickt, dann bleibt diese Markierung auch verschwunden.
2. Änderung der Auswahl
Ähnliches passiert beim Anklicken einer noch nicht ausgewählten Zelle, also beim Ändern der Selection. Zunächst erscheint wie gewünscht die entsprechende Meldung. Bewegt man nun den Cursor von der eben ausgewählten Zelle zur MsgBox, so wird auch hier der überfahrene Zellbereich markiert. Dieses Markieren - so vermute ich - hat aber zur Folge, dass die MsgBox nach dem Wegklicken sofort wieder aufgerufen wird. So gerät man unversehens in eine Art Endlosschleife.
Wo kann / muss ich ansetzen, um dieses Verhalten künftig zu unterbinden?
Eine Beispiel-Datei (Ereignisse.ods) werde/habe ich hoch/ge/laden. Bei dieser Datei ist dem Ereignis "Auswahl geändert" noch kein Makro zugeordnet; das entsprechende Makro (Demo_pEvent_SelectChang()) ist aber schon dabei.
Mein LO (24.2.6.2, x86) läuft unter Windows 11.
Vorab vielen Dank für Eure Unterstützung und
liebe Grüße
vom Martin