2010-03-03 13 views
9

Ich muss ein generisches VBA-Formularsteuerungsobjekt in ein ComboBox-Objekt umwandeln, damit ich ihm Elemente hinzufügen kann. Die allgemeine Aufgabe wird mir nicht erlauben, Elemente in meine bestehenden ListenExcel VBA: Wie wird ein generisches Steuerelementobjekt in ein ComboBox-Objekt umgewandelt?

Dim ctlCurrent As MSForms.Control 
For Each ctlCurrent In frmItemInput.Controls 
    If TypeName(ctlCurrent) = "ComboBox" Then 
     Dim lbCurrentComboBox As MSForms.ComboBox 
     lbCurrentComboBox = ctlCurrent 'This is where the error occurs, when I try to convert one into another 

     ' Adiciona os itens necessários 
     lbCurrentComboBox.AddItem ("R") 
     lbCurrentComboBox.AddItem ("D") 
    End If 
Next ctlCurrent 

Mein Problem einzufügen ist: Ich habe Tonnen von Comboboxen in meiner Form und ich brauche die gleichen Möglichkeiten für alle von ihnen hinzuzufügen. Ich würde das gerne pro- grammatisch machen.

+1

Gefolgsmann versuchen hat es richtig. Sie müssen Set verwenden. – Stewbob

Antwort

14

können Sie "werfen" ein VBA-Objekt durch SET, zB:

SET lbCurrentComboBox = ctlCurrent 
+2

Hey, danke! Das hat den Trick gemacht. –

+1

genau das, was ich brauchte. –

5

Wenn phil's answer funktionierte nicht

SET lbCurrentComboBox = ctlCurrent.Object 
Verwandte Themen