F: Excel2003, VBA, UserForm: nur objekte eines speziellen Types durchlaufen

23/01/2008 - 12:43 von Martin Jaeger | Report spam
Hallo

Ich habe mal wieder eine kleine Frage, kann man die auf einem Formular
(UserForm) palzierten Objekte nach Typ durchlaufen?

Problem:

Wenn ich in einer ComboBox einen Wert auswàhle, dann will ich, dass in
allen anderen Comboboxen an den gleichen Index gesprugen wird.

Ich hatte da an so etwas gedacht:

For Each Combobox in UForm1.Comboboxlist
...
Next

Ich habe bisher nur gefunden die Objekte via gemeinsamen Namensteil z.B.
"CBox" zu identifizieren.

Vielen Dank

Martin
 

Lesen sie die antworten

#1 stefan onken
23/01/2008 - 14:02 | Warnen spam
On 23 Jan., 12:43, "Martin Jaeger" wrote:
Hallo

Ich habe mal wieder eine kleine Frage, kann man die auf einem Formular  
(UserForm) palzierten Objekte nach Typ durchlaufen?

Problem:

Wenn ich in einer ComboBox einen Wert auswàhle, dann will ich, dass in  
allen anderen Comboboxen an den gleichen Index gesprugen wird.

Ich hatte da an so etwas gedacht:

For Each Combobox in UForm1.Comboboxlist
  ...
Next

Ich habe bisher nur gefunden die Objekte via gemeinsamen Namensteil z.B.  
"CBox" zu identifizieren.

Vielen Dank

Martin



hallo Martin,
mE gibt es keinen anderen Weg, als alle Controls zu durchlaufen und
anhand des Namens oder des Typename zu identifzieren.

For Each ctrl In UserForm1.Controls
If TypeName(ctrl) = "ComboBox" Then MsgBox ctrl.Name
Next

Es wàre möglich, nur Comboboxen in einer Schleife zu durchlaufen, etwa

For i = 1 To 10
Msgbox UserForm1.Controls("Combobox" & i).Value
Next

aber hierbei musst du die Benamung der Controls so wàhlen, dass sie
auch in einer Schleife durchlaufen werden können.

Gruß
stefan

Ähnliche fragen