Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations TouchToneTommy on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Loop Through Controls on a UserForm. Textbox, ComboBox, CheckBox etc

VBA How To

Loop Through Controls on a UserForm. Textbox, ComboBox, CheckBox etc

by  Chance1234  Posted    (Edited  )
I am not the original author of the below (unknown), but have pasted this here as it is good information and a question ive seen come up a few times.


Loop Through UserForm Controls

VBA UserForms and their associated controls are a great way to present/collect data from users. There are often occasions however when we need to loop through all controls on a UserForm, or only certain specified controls.

Loop Through All Controls

Use the code below to loop through all Controls on a UserForm
Code:
Private Sub CommandButton1_Click()
Dim cCont As Control
    For Each cCont In Me.Controls
        'DO STUFF HERE
    Next cCont

End Sub
Loop Through Specific/Specified Controls

Use the code below to loop through only specified Controls on a UserForm.
Code:
Private Sub CommandButton1_Click()
Dim cCont As Control

    For Each cCont In Me.Controls
        If TypeName(cCont) = "TextBox" Then
            'DO STUFF HERE
        End If
     Next cCont

End Sub
Loop Through Specific Controls on a Specified Page of a MultiPage Control

Use the code below to loop through only specific Controls on a specified page of a MultiPage Control. Note that Pages(0) is always the first page of any MultiPage Control.

Code:
Private Sub CommandButton1_Click()
Dim cCont As Control

    For Each cCont In Me.MultiPage1.Pages(0).Controls
        If TypeName(cCont) = "TextBox" Then
            'DO STUFF HERE
        End If
     Next cCont

End Sub
Loop Through Specified Controls on all Pages of a MultiPage Control

Use the code below to loop through specified controls on all pages of a MultiPage Control.
Code:
Private Sub CommandButton1_Click()
Dim pPage As Page, cCont As Control

    For Each pPage In Me.MultiPage1.Pages
        For Each cCont In pPage.Controls
            If TypeName(cCont) = "ComboBox" Then
               'DO STUFF HERE
            End If
        Next cCont
    Next pPage

End Sub
Register to rate this FAQ  : BAD 1 2 3 4 5 6 7 8 9 10 GOOD
Please Note: 1 is Bad, 10 is Good :-)

Part and Inventory Search

Back
Top