Microsoft ExcelでVBAを使用して複数のユーザーフォーム・コントロールの値/内容を変更
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