Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1276to1280
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

Userform geöffnet ?

Userform geöffnet ?
marioS
Hallo
ganz einfache frage
wie kann ich abfragen, ob eine UF bereits geöffnet ist, ohne dass die UF_Initialize-Proz. startet ?
z.Bsp. habe ich einen button auf einem sheet, mit dem ich die UF anzeige (UF.show)
mit
if UF.visible=true then exit sub
frage ich ab, ob die UF bereits geöffnet ist - dabei startet allerdings die Initialize-Proz. Das möchte ich gerne verhindern, nur wie ?
Danke schon mal
marioS

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Userform geöffnet ?
03.09.2012 16:32:31
Luschi
Hallo marioS,
es gibt eine Userfirm-Auflistung, in der alle geöffneten Formulare verewigt sind.

Sub test1()
Dim frm As UserForm
For Each frm In UserForms
Select Case frm.Caption
Case "?"
MsgBox "Ätzsch..., bin schon geöffnet!", vbInformation
End Select
Next f
Set frm = Nothing
End Sub
Gruß von Luschi
aus klein-Paris

AW: Userform geöffnet ?
03.09.2012 16:40:50
fcs
Hallo mario,
1. Das Problem dürfte ja nur bei Userforms akut sein, deren Status für "ShowModal" auf False gesetzt ist.
Ist das bei dir der Fall?
Andernfalls kannst du in Excel auf nichts anderes als Userform-Elemente klicken.
2. Die Initialize-Proz. wird nur gestartet, wenn das Userform noch nicht in den Arbeitsspeicher geladen ist. Das Laden eines Userforms erfolgt immer mit der 1. Show-Anweisung für das UF. Das UF wird wieder aus dem Arbeitsspeicher entladen, wenn
a) die Anweisung "Unload UseformXYZ" ausgeführt wird
b) die Schließen-Fläche rechts-oben geklickt wird
c) die Datei geschlossen wird
d) Excel geschlossen wird
e) Das VBA-Projekt mit dem Userform zurückgesetzt wird.
In soweit reicht eine Anweisungsfolge
If UserformXYZ.Visible = False then
UserformXYZ.Show
End If
immer um ein Userform anzuzeigen.
Wenn bei dir der Code in der Initialize-Proz. unerwünscht ist, wenn der Status des Userforms geprüft wird, dann ist in der Logik deines Codes irgendwo ein Denkfehler.
Wenn du mehrfach eine Userform einblenden/ausblenden willst ohne dass die Initialisierungsprozedur ausgeführt wird, dann darfst du das Userform immer nur mit userformXYZ.Hide ausblenden und nicht einfach schliessen bzw. mit Unload entladen.
Gruß
Franz

Anzeige
AW: Userform geöffnet ?
04.09.2012 09:21:28
marioS
Hallo fcs und Luschi,
vielen Dank, die Erläuterungen zu den uf sind sehr gut, so kompakt habe ich das noch nirgends gelesen.
Werde meine uf-programmierung dahingehend prüfen
Gruß, marioS

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige