Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
420to424
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
420to424
420to424
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Userform aktivieren?!

Userform aktivieren?!
Andre
Guten Morgen zusammen,
habe ein ganz merkwürdiges Problem:
ich habe eine umfangreiche Excel-Datei mit einer Vielzahl an Userformen, Makros und sonstigem VBA-Code für Excel 2000 geschrieben.
U.A. arbeite ich auch mit dem Ereignis "UserForm.activate". Dies stellt aber zunehmend ein Problem dar, da diese Ereignisse nicht mit Sicherheit auf jedem Rechner gleichermaßen bearbeitet werden. Der betreffende Code dieses Ereignisses umfaßt ca. 200 Zeilen und beinhaltet sowohl übliche If-Abfragen, als auch Datenbank-Abfragen, wobei der Umfang des Ereignis-Codes nicht relevant für dieses Problem zu sein scheint (siehe Beispiel-Datei!).
Der Unterschied der Bearbeitung liegt darin, dass einerseits dieses Ereignis korrekt ausgelöst wird, wenn die Userform aktiviert wird, also auch wenn ich über diese betreffende UF1 eine weitere UF2 aufrufe (ohne UF1 zu schließen) und dann UF2 wieder schließe, somit wird die ursprüngliche UF1 wieder aktiv (erkennbar durch die Blaufärbung der UF-Titelleiste im Gegensatz zum grau der inaktiven UserFormen!) und auch das Ereignis wird ausgelöst.
Andererseits wird auf manchen Rechnern dieses Ereignis lediglich dann ausgelöst, wenn UF1 auch initialisiert wurde, d.h. bei vorigem Beispiel würde das Ereignis nicht ausgelöst werden!
Kann mir jemand sagen, welche der beiden Aktionen exceltypisch ist und welche offensichtlich nicht? Ich vermute die erste Variante ist korrekt.
Oder kann das eine Einstellungssache sein?
Sollte es für dieses Problem keine sinnvolle Lösung geben, stellt mich dies vor ein enormes Problem, zwingt mich meine Datei komplett zu überarbeiten und wirft mich u.U. in der Entwicklung um mehrere Tage bis Wochen zurück, daher bin ich für jeden Rat sehr dankbar!
Zur Veranschaulichung lade ich eine Beispiel-Datei hoch, die, so hoffe ich, mein Problem ausreichend verdeutlicht:
https://www.herber.de/bbs/user/5787.xls
Gruß Andre

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Userform aktivieren?!
Kurt
Zeig die forms nicht modal an.
Kurt
AW: Userform aktivieren?!
Andre
Hi Kurt,
danke für deine Hilfe, aber die Anzeige "Showmodal = True" ist zwingend erforderlich, denn der User der Datei darf auf keinen Fall Zugriff auf "Hintergrund-Einstellungen" (Symbol-/ Menüleisten, Tabellen usw.) haben.
Trotzdem danke.
Gruß Andre
AW: Userform aktivieren?!
Kurt
Das solltest du gleich bei der Fragestellung erwähnen, dann könnte man sich
ggf. die Antwort verkneifen.
Da es anders aber nicht geht, musst du halt dennoch nicht modal anzeigen
und die Maus innerhalb des userforms "einsperren". Das geht allerdings
nur mit API- Funktionen.
Kurt
Anzeige
AW: Userform aktivieren?!
Andre
Okay, okay, hatte ich versäumt zu erwähnen, tut mir leid!
Eine andere Möglichkeit gibt es nicht? Aber warum funktioniert es dann gelegentlich?
mfg Andre
AW: Userform aktivieren?!
Kurt
Was weiß ich, was da in deinen forms abläuft. Da passieren teilweise
'zig Ereignisse fast gleichzeitig. Du willst doch auch sicher
keine Zufallslösung, oder?
Kurt
AW: Userform aktivieren?!
Andre
Alles klar, danke trotzdem für deine Hilfe!
mfg Andre
AW: Userform aktivieren?!
Kurt
Was bedeutet danke trotzdem, trotz was? Willst du eine Bestätigung
deiner Meinung oder ein Problem lösen?
Kurt
AW: Userform aktivieren?!
Andre
Hey, ganz ruhig bleiben! Was denn los mit dir? Wir arbeiten doch hier nicht gegeneinander.
"Danke trotzdem", weil du mir deinen Lösungsansatz deutlich machtest, der sowohl kompetent, als auch intelligent zu sein scheint, dennoch in dieser vorliegenden Situation aus bereits erwähnten Gründen nicht in Frage kommt und diesbezüglich nicht weiter verfolgt werden kann.
Dies bedeutet selbstverständlich nicht, daß deine Ausführungen fehlerhaft oder mißverständlich waren, sondern lediglich nicht den Anforderungen der vorliegenden Situation gerecht wurden.
Ich hoffe, - dieses Mal - eine Wortwahl getroffen zu haben, die für dich gleichermaßen höflich wie informativ war und verbleibe
mit freundlichen Grüßen.
Andre
Anzeige
AW: Userform aktivieren?!
Kurt
"in dieser vorliegenden Situation aus bereits erwähnten Gründen nicht in Frage kommt"
Ich habe die Erfahrung gemacht, dass sich(nicht auf dich bezogen) gerade
Anfänger auf eine Lösung versteifen, weil sie keine Alternativen kennen und
dann auch noch darauf beharren und für Alternativen gar nicht mehr offen
sind.
Du hast z.B. als Grund angegeben, dass nicht in den Tabellen "rumgemacht"
werden darf. Die Alternative hab ich dir genannt und du hast nichtmal
nachgefragt, wie das ggf. zu machen wäre. Also gehe ich davon aus, dass
es dir nicht um eine Lösung geht, sondern eine Bestätigung deiner
Meinung.
Kurt
Anzeige
Thread beendet!
Andre
Nein Kurt,
das bedeutet lediglich, daß ich diesen Lösungsansatz bereits in der Vergangenheit schon einmal in einem anderen Zusammenhang hatte und dieser zwar sehr elegant wäre und mir auch einige weitere positive Nebeneffekte bieten würde, aber diese Variante würde sehr wahrscheinlich den zeitlichen Rahmen für meine Entwicklungsphase überziehen, daher bin ich zwischenzeitlich auf einen etwas umständlichen, aber dennoch effektiven Lösungsansatz gekommen:
Die UserFormen besitzen generell aus einem anderen Grund eine "Controll-Textbox", die lediglich zur Kontrolle dient. Diese Textbox nutze ich nun, um mit Hilfe ihres Change-Ereignisses das Activate-Ereignis der Userform aufzurufen.
Wie gesagt, nicht elegant, aber effektiv und weniger zeitintensiv!
Also, bis dann.
mfg Andre
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige