Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1760to1764
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
Inhaltsverzeichnis

AfterUpdate löst nicht aus

AfterUpdate löst nicht aus
23.05.2020 14:20:31
yogi
Hallöchen
Ich habe da zwei Userforms. In Userform1 ist ein Textfeld, dem ein AfterUpdate Ereignis zugeordnet ist. Wird Userform1 direkt aufgerufen, tritt das AfterUpdate Ereignis ein.
Wird Userform1 durch Userform2 aufgerufen, tritt das AfterUpdate Ereignis nicht ein.
Was ist da los?
Gruss
yogi

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: AfterUpdate löst nicht aus
23.05.2020 14:36:07
Hajo_Zi
Hallo Yogi,
es wird kein Wert in die Textbox geschrieben.
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
änderrn.
Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.

Anzeige
AW: AfterUpdate löst nicht aus
23.05.2020 15:03:58
onur
"Wird Userform1 durch Userform2 aufgerufen, tritt das AfterUpdate Ereignis nicht ein" - und WANN sollte deiner Meinung nach das AfterUpdate-Ereignis immer auslösen?
AfterUpdate löst nicht aus
24.05.2020 09:11:14
yogi
Hallo
Nachdem Userform1 durch Userform2 Aufgerufen wurde, werden Daten manuell in die Textbox in Userform1 eingegeben. Und dann sollte das AfterUpdate-Ereignis ausgelöst werden. Tut es aber nicht
Gruss
yogi
AW: AfterUpdate löst nicht aus
24.05.2020 12:08:48
onur
Dann poste doch mal deine (Beispiels-) Datei.
AfterUpdate löst nicht aus
24.05.2020 13:43:34
yogi
Hallöchen
mir ist da gerade etwas aufgefallen - ein Change-Ereignis in Userform2 ruft Userform1 auf.

' Codeschnipsel in Userform2
Private Sub cbx_fahrgast_Change()
If cbx_fahrgast = "xx" Then
Userform1.show
Endif
End Sub
Wird da in Userform1 kein Ereignis ausgelöst weil in Userform2 noch ein Ereignis aktiv ist? Wenn dem so ist, wie kann das Problem gelöst werden?
Gruss
yogi
Anzeige
AW: AfterUpdate löst nicht aus
24.05.2020 14:28:01
Daniel
Hi
Beschreib bitte mal genauer, was du überhaupt machst und wofür das ganze gut ist.
Das Change-Event scheint mir generell ungünstig, eine andere Userform zu starten, zumal du da keine Absicherung drin, ob die Userform nicht schon offen ist.
Dann wäre noch interessant zu wissen, ob die Userformen odal oder nicht modal sind.
Gruß Daniel
Makro hält an ohne Haltepunkt
24.05.2020 15:48:28
yogi
Was da gemacht wird: In Userform2 müssen diverse Daten eingegeben werden. Nachdem dann etliche Daten eingegeben sind, muss in der Combobox ein Wert ausgewählt werden. In seltenen Fällen ist der gewünschte Wert aber nicht vorhanden und er muss zusammen mit etlichen anderern Daten in Userform1 eingegeben werden, bevor mit der Dateneigabe in Userform2 weitergemacht werden kann. Tönt kompliziert, ist es auch.
Durch den Programmablauf ist sichergestellt, dass bei Öffnung von Userform2 Userform1 nicht offen ist.
Bei beiden Userforms ist ShowModal = True
Gruss
yogi
Anzeige
Wie Hajo schon schrieb: ohne die Datei dazu
24.05.2020 15:54:20
Daniel
Ist es schwer deinen Beschreibung zu folgen.
Bitte lade die Datei hier hoch.
Gruß Daniel
AfterUpdate löst nicht aus
24.05.2020 16:18:56
yogi
Die Datei hochladen geht leider nicht, es handelt sich sensible, persönliche Daten. Ich werde versuchen, ein Beispiel zu machen.
AW: AfterUpdate löst nicht aus
24.05.2020 17:59:20
Mullit
Hallo,
Bei beiden Userforms ist ShowModal = True 

und das ist das Problem: beide Forms ShowModal = False stellen, oder .Show vbModeless aufrufen...
Gruß, Mullit
Anzeige
AfterUpdate löst nicht aus
24.05.2020 18:30:34
yogi
Salü Mullit
stelle ich beide auf vbModeless, kann der User andere Tabellenblätter anwählen oder irgendwo Daten eingeben (sofern sie nicht geschützt sind.). Und das soll nicht möglich sein.
Gruss
yogi
AW: AfterUpdate löst nicht aus
24.05.2020 20:54:58
Daniel
HI
schwierig.
scheint mir allerdings ein Bug zu sein, wenn wenn man in der Userform2 statt dem Change-Event ein anderes Event verwendet (z.B. KeyDown, KeyPress, Exit), so werden diese normal ausgelöst, nur eben das Change-Event nicht.
Auch wenn man in der Userform1 zum Starten der Userform nicht das Change-Event, sondern ein anderes Event verwendet (z.B. KeyDown), dann funktioniert auch in Userform2 das Change-Event wieder.
Schient also ein sehr spezielles Problem insbesondere mit dem Change-Event und zwei gleichzeitig modal geöffneten Userformen zu sein.
Ein Lösungsansatz wäre, dass du mal probierst, welche Events in dem Szenario ansprechen und welche nicht, und dir dann einen Wege über diese funktionierenden Events ausdenkst (KeyDown oder KeyPress hat in einer TextBox ja eine ähnliche Auslöseschwelle wie Change, zumindest was Anwendereingaben betrifft)
ein anderer Weg wäre vielleicht, dass du gar keine 2. Userform erstellst, sondern in der ersten Userform bleibst.
Dort fügst du eine Multipage mit zwei Seiten ein.
auf die erste Seite kommen die Steuerelemente der Userform1, auf die zweite Seite die Steuerelemente der Userform2. Um die "Userform2" anzuzeigen, welchselst du einfach den .Value-Wert der Multipage.
Damit der Anwender nicht selbstständig umschalten kann, blendest du einfach die Reiter der Multipage aus.
Gruß Daniel
Anzeige
AfterUpdate löst nicht aus
25.05.2020 11:34:57
yogi
Das mit der Multipage geht leider nicht, da beide Userforms unabhängig voneinander aufgerufen werden können. Zudem steckt leider viel zu viel Code in den Userforms. Dadurch wurde es notwendig, den Code stückweise (kleiner als 64 KB) in separate Module auszulagern. Mit einer Multipageform würde da das Problem nur noch grösser und komplizierter.
Ich werde mal verschiedene Events ausprobieren, vielleicht geht dann eine Kombination. Das wird allerdings noch ein paar Tage dauern.
Gruss
yogi
AfterUpdate löst nicht aus
25.05.2020 11:53:53
yogi
Das mit der Multipage geht leider nicht, da beide Userforms unabhängig voneinander aufgerufen werden können. Zudem steckt leider viel zu viel Code in den Userforms. Dadurch wurde es notwendig, den Code stückweise (kleiner als 64 KB) in separate Module auszulagern. Mit einer Multipageform würde da das Problem nur noch grösser und komplizierter.
Ich werde mal verschiedene Events ausprobieren, vielleicht geht dann eine Kombination. Das wird allerdings noch ein paar Tage dauern.
Gruss
yogi
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige