Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: dynamischer Zugriff auf Elemente eines Formulars

dynamischer Zugriff auf Elemente eines Formulars
t4z
Hi Leute,
mit Workbooks(X).Worksheets(Y).DrawingObjects(statischerTeil & LaufIndex) kann man ja dynamisch auf Elemente im Sheet zugreifen oder sie auch verändern. Mit OLEObjects geht das auch.
Wie kann ich auf diese Art auf Elemente einer Userform zugreifen? Speziell möchte ich on initialize mit nem Laufindex über alle Textboxen (und Comboboxen) gehen und diese abhängig von dem Inhalt in einem Excel-Sheet entweder beschriften (und befüllen) oder per visible ausblenden.
Vielen Dank und Gruß
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Schleife über UserForm-Controls
04.10.2011 17:28:12
NoNet
Hallo t4z,
so geht's (Code bitte entsprechend anpassen) :

Private Sub UserForm_Initialize()
Dim cnt As Control, lngT As Long, lngC As Long
For Each cnt In Me.Controls
If TypeName(cnt) = "TextBox" Then
lngT = lngT + 1
MsgBox cnt.Name, , "Textbox Nr." & lngT
'cnt.visible=TRUE 'oder FALSE
ElseIf TypeName(cnt) = "ComboBox" Then
lngC = lngC + 1
MsgBox cnt.Name, , "Combobox Nr." & lngC
'cnt.visible=TRUE 'oder FALSE
End If
Next
End Sub
Gruß, NoNet
Exceltreffen 28.-30.10.2011 in Chemnitz
Ein Treffen für alle Excel-Freunde und Besucher deutschsprachiger Excel-Foren.
Alle Infos - Programm - Anmeldung - Teilnehmerliste etc. gibt es auf
http://www.exceltreffen.de/index.php?page=211
Wir freuen uns auf euch...

Anzeige
AW: Schleife über UserForm-Controls
04.10.2011 17:35:04
t4z
Habe zwar auch noch andere Textboxen und Combos, die davon völlig unberührt bleiben sollen, aber mit deinem Ansatz und dem Link hier (http://www.wer-weiss-was.de/theme161/article4508326.html) komme ich sicher ans Ziel.
Vielen Dank, der t4z
LÖSUNG HIER KLICKEN
04.10.2011 18:47:23
t4z
With wkbMe.Sheets("Tabelle A")
For i = 1 To 15
If .Range("Zellbereich X")(i) = "irgendwas" Then
Me.Controls("TB_" & Format(i, "0#")).Value = _
.Range("blabla." & Format(i, "0#") & ".name")
Call fillComboboxWithGivenRange(Me.Controls("CBox_" & Format(i, "0#")), _
.Range("Zellbereich Z"))
Else ' sonst: TB & CB invisible setzen
Me.Controls("TB_" & Format(i, "0#")).Visible = False
Me.Controls("CBox_" & Format(i, "0#")).Visible = False
End If
Next
End With
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige