Excel 5/95ダイアログシートでは、コレクション内のコントロールをループすることで、コントロールのコレクションの値/コンテンツを変更できます。このように:dlg.CheckBoxesの各cbについて。

Excel 97以降では、UserFormオブジェクトは同じ方法でコントロールをグループ化しません。

以下に、いくつかのユーザーフォームコントロールの値/コンテンツを変更する方法を示すマクロの例をいくつか示します。

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