Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Excel VBA: how to cast a generic control object into a ComboBox object?

Tags:

excel

vba

I need to cast a generic VBA form control object into a ComboBox object so that I can add items to it. The generic object won't allow me to insert items into my existing lists

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

My problem is: I have tons of ComboBoxes in my form and I need to add the same options for all of them. So I would like to do this progrmatically.

like image 438
Marcos Buarque Avatar asked Mar 03 '10 01:03

Marcos Buarque


1 Answers

You can "cast" an VBA Object by using SET, eg:

SET lbCurrentComboBox = ctlCurrent
like image 58
Phil Rykoff Avatar answered Oct 09 '22 05:10

Phil Rykoff