Change the value / content of several UserForm-controls

 2000-02-05    Dialogs    0    217

In an Excel 5/95 dialogsheet it is possible to change the value/content of a collection of controls by looping through the controls in the collection, e.g. like this: For Each cb In dlg.CheckBoxes.

In Excel 97 or later the UserForm-object doesn't group the controls in the same way. Below you will find some example macros that shows how you can change the value/content of several UserForm-controls:

Sub ResetAllCheckBoxesInUserForm()
Dim ctrl As Control
    For Each ctrl In UserForm1.Controls
        If TypeName(ctrl) = "CheckBox" Then
            ctrl.Value = False
        End If
    Next ctrl
End Sub

Sub ResetAllOptionButtonsInUserForm()
Dim ctrl As Control
    For Each ctrl In UserForm1.Controls
        If TypeName(ctrl) = "OptionButton" Then
            ctrl.Value = False
        End If
    Next ctrl
End Sub

Sub ResetAllTextBoxesInUserForm()
Dim ctrl As Control
    For Each ctrl In UserForm1.Controls
        If TypeName(ctrl) = "TextBox" Then
            ctrl.Text = ""
        End If
    Next ctrl
End Sub