Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1672to1676
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 Variabel ansprechen

UserForm Variabel ansprechen
03.02.2019 15:05:41
Björn
Hallo, ich bins wieder...
Ich habe folgendes Problem:
Ich habe ein TB in dem all meine Boxen & Buttons aufgelistet sind. Das Problem ist jetzt, das ich mehrere UserFormen habe und somit für jedes UserForm ein eigenes TB bzw. einen eigenen Bereich benötige.
Aber ich würde gerne EINE Tabelle für alle Userformen zusammen machen.
Momentan spreche ich bspw. UserForm1 wie folgt an:
If Box = "TextBox" Then
uf1.Controls(CStr((Box) & txtboxnr)).EnterKeyBehavior = strg.Range(("AG") + CStr(x)).Value
uf1.Controls(CStr((Box) & txtboxnr)).MultiLine = strg.Range(("AH") + CStr(x)).Value
End If
Ich würde aber gerne diesen Teil: uf1.Controls variabel machen, also wenn im TB: UserForm1 steht, dann uf1.Controls, wenn im TB: Userform2 steht, dann uf2.Controls, usw....
Im Internet hab ich bis jetzt nichts gefunden - kann mir da jemand helfen?
Bin über alle Vorschläge dankbar und bedanke mich hiermit schon mal im Voraus!
Gruß
Björn

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm Variabel ansprechen
03.02.2019 15:46:45
Sepp
Hallo Björn,
ohne auf deine Frage einzugehen, was zum Teufel hast du vor?
 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: UserForm Variabel ansprechen
03.02.2019 16:05:26
Björn
Hallo,
hier mal ein Bild von dem wie es bis jetzt ist:
Userbild
So soll die Tabelle für alle UserFormen gemeinsam geführt werden.
Gruß
Björn
AW: UserForm Variabel ansprechen
03.02.2019 15:54:14
Nepumuk
Hallo Björn,
ein Beispiel:
Public Sub Beispiel()
    With UserForms.Add(Cells(1, 1).Value)
        .Controls(Cells(1, 2).Value).Text = "Hallo"
        .Show
    End With
End Sub

Aber Achtung, immer wenn du das Userform ansprichst wird, so vorhanden, dessen Initialize-Event ausgelöst.
Gruß
Nepumuk
Anzeige
Nachtrag
03.02.2019 15:56:58
Nepumuk
Ich nochmal
die Einstellungen die du per Code machst sind nicht dauerhaft. Sprich du musst sie immer machen wenn du das Userform aufrufst.
Gruß
Nepumuk
AW: UserForm Variabel ansprechen
03.02.2019 16:01:03
onur
VBA.UserForms.Add(TB).Show
AW: UserForm Variabel ansprechen
03.02.2019 16:14:20
Björn
Geht der Code nur für .show oder für alles?
AW: UserForm Variabel ansprechen
03.02.2019 17:55:30
Björn
Also wenn ich das UF so anspreche:
For x = 44 To 44 'Worksheets("Einstellungen").Range("Zaehler_Zeilen_in_Steuerung").Value
TB = Worksheets("Steuerung").Range("D" + CStr(x)).Value
VBA.UserForms.Add(TB).Show
Next x
... kommt beim schließen des UF's mit (uf3.hide) folgende Meldung:
Userbild
Wo liegt der Fehler?
Anzeige
AW: UserForm Variabel ansprechen
03.02.2019 18:02:44
Nepumuk
Hallo Björn,
du musst die zuletzt angezeigte Userform als erstes schließen. Sprich die Schleife rückwärts laufen lassen.
Gruß
Nepumuk
AW: UserForm Variabel ansprechen
03.02.2019 21:57:33
Björn
Hallo,
vielen Dank!
Der Code VBA.UserForms.Add(TB) funktioniert zwar, ist aber extrem langsam.
Ich habe mal die Programmierung als .txt Datei (https://www.herber.de/bbs/user/127393.txt) hochgeladen - was ich damit vor hab.
Gibt es eine schnellere Variante?
Gruß
Björn
AW: UserForm Variabel ansprechen
03.02.2019 22:22:17
Nepumuk
Hallo Björn,
ich habe es jetzt mal getestet. Ich kann keinen Unterschied zwischen der normalen Show-Methode und der per Add-Methode messen. Beides dauert rund 0,015 Sekunden.
Gruß
Nepumuk
Anzeige
AW: UserForm Variabel ansprechen
03.02.2019 22:32:26
Björn
Hallo, ja bei .show merke ich auch kein Unterschied, aber in der Textdatei hab ich mal die Programmierung rein geschrieben, was ich nachher vor hab.
Wenn ich die Programmierung laufen lasse, dauert locker 3 Minuten bis er da durch ist...
Gruß
Björn
AW: UserForm Variabel ansprechen
03.02.2019 22:35:52
Nepumuk
Hallo Björn,
lade eine Mustermappe hoch damit ich das teste kann. Ich will das nicht nachbauen.
Gruß
Nepumuk
AW: UserForm Variabel ansprechen
03.02.2019 23:06:27
Björn
Hallo, dauert aber kurz ein paar Minuten bis ich so eine Mappe nach gebaut hab...
Gruß Björn
AW: UserForm Variabel ansprechen
04.02.2019 01:07:53
Björn
Hallo,
sorry das es gedauert hat, aber hier (https://www.herber.de/bbs/user/127395.xlsm) die Mustermappe zum testen.
Bei der geht es jetzt relativ schnell, aber wenn man muss bedeneken das ich in der "richtigen" Programmierung ca. 100 Einträge in der Tabelle habe...
Vielen Dank schon mal im Voraus!
Gruß
Björn
Anzeige
AW: UserForm Variabel ansprechen
04.02.2019 12:56:14
Nepumuk
Hallo Björn,
ich habe jetzt mal alles Überflüssige aus deinem Code rausgeworfen. Teste mal:
https://www.herber.de/bbs/user/127399.zip
Der Upload ist nur noch als zip zulässig.
Du solltest dir angewöhnen alle Variablen mit dem entsprechenden Typ zu deklarieren. Das alleine macht schon 20% an Geschwindigkeit aus.
Gruß
Nepumuk
AW: UserForm Variabel ansprechen
04.02.2019 17:03:47
Björn
Hallo Nepumuk,
vielen Dank erstmal dafür, dennoch hab ich eine Frage.
In der Spalte D steht ja das UserForm drin...
Hab jetzt mal ein 2. Userform eingefügt - leider steht jetzt immer UserForm1 in der Tabelle.
Mache ich was falsch?
Gruß
Björn
Anzeige
AW: UserForm Variabel ansprechen
04.02.2019 17:25:34
Nepumuk
Hallo Björn,
du brauchst für jede Userform einen eigenen Button. Oder soll VBA per Zufall entscheiden welches Userform geöffnet wird?
Ich habe es dir mal in deine Mappe eingefügt: https://www.herber.de/bbs/user/127410.xlsm
Gruß
Nepumuk
AW: UserForm Variabel ansprechen
04.02.2019 17:28:49
Björn
Hallo, ich bins wieder.
Nein, geöffnet werden soll immmer UF1, aber die Boxen sollen in der Tabelle für alle UserFormen verwaltet werden.
Sprich: Farben, Labels, etc. sollen in dieser Tabelle verwaltet werden.
Gruß
Björn
AW: UserForm Variabel ansprechen
04.02.2019 17:55:57
Nepumuk
Hallo Björn,
welchen Sinn hat es ein Userform das nicht angezeigt wird zu formatieren? Das bremst doch nur das Anzeigen von Userform1 aus. Das setzen der Eigenschaften ist sowieso nur temporär. Sobald du die Mappe schließt ist alles wieder auf den Ursprung zurückgesetzt.
Gruß
Nepumuk
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige