Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1524to1528
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

Eine UserForm ansprechen

Eine UserForm ansprechen
16.11.2016 09:20:43
Sebastian
Hallo,
ich möchte Daten vom User mit mehreren Userforms abfragen.
Frage:
Wie kann ich in einem Makro auf unterschiedliche Userforms zugreifen? (jeweils nur eins gleichzeitig)
Ich muss ja immer den Namen in VBA eintragen oder Set UserForm=ufEingabe1 schreiben.
Ich habe den Namen aber als String...
Kann ich wie bei z.B. bei den Sheets(strBlattname) sowas auch bei den Userforms machen?
Danke!

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

Betreff
Datum
Anwender
Anzeige
AW: Eine UserForm ansprechen
16.11.2016 09:40:58
Daniel
Hi
ein möglicher Lösungsansatz, wenn niemanden was besseres einfällt:
1. erstelle ein Dictionary-Objekt
2. erstelle in dem Dicitionary für jede Userform einen Eintrag mit dem entsprechenden Text as Key
3. Rufe dann die Userforms über das Dictionary auf
Sub test()
Dim dicUF As Object
Dim strUF As String
'--- Dictionary erstellen
Set dicUF = CreateObject("Scripting.dictionary")
'--- für jede Userform einen Dictionary-Eintrag anlegenen
Set dicUF("UF1") = UserForm1
Set dicUF("UF2") = UserForm2
Set dicUF("UF3") = UserForm3
'--- Userform über den Text verwenden
strUF = "UF2"
dicUF(strUF).Show 0
dicUF(strUF).Caption = "Hallo Welt"
End Sub

Gruß Daniel
Anzeige
AW: Eine UserForm ansprechen
16.11.2016 10:01:09
Nepumuk
Hallo,
eine Möglichkeit:
Public Sub Test()
    Dim strUserform As String
    strUserform = "UserForm1"
    UserForms.Add(strUserform).Show
End Sub

Gruß
Nepumuk
Anzeige
AW: Eine UserForm ansprechen
16.11.2016 11:50:12
Sebastian
Danke!
Genau das mit .Add wars!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige