Excel VBAのループスルーコントロール
ほんの数行のコードで、簡単に ループスルーコントロール 〜に Excel VBAユーザーフォーム。作成するUserformは次のようになります。
このユーザーフォームを作成するには、次の手順を実行します。
1. Visual Basic Editorを開きます。プロジェクトエクスプローラが表示されていない場合は、[表示]、[プロジェクトエクスプローラ]をクリックします。
2. Insert、Userformをクリックします。ツールボックスが自動的に表示されない場合は、[表示]、[ツールボックス]の順にクリックします。あなたの画面は以下のように設定する必要があります。
3。 ラベルを追加し、チェックボックスをオンにします(最初は上、下は2番目)。これが完了したら、その結果は前に示したUserformの画像と一致するはずです。たとえば、ツールボックスからCheckBoxをクリックして、チェックボックスコントロールを作成します。次に、ユーザーフォーム上のチェックボックスをドラッグすることができます。
4。 コントロールの名前とキャプションを変更できます。名前はExcel VBAコードで使用されます。キャプションは、画面に表示されるキャプションです。コントロールの名前を変更することをお勧めしますが、ここではいくつかのコントロールしか持たないため、ここでは必要ありません。 Userform、ラベル、チェックボックス、およびコマンドボタンのキャプションを変更するには、[表示]、[プロパティ]ウィンドウをクリックし、各コントロールをクリックします。
5.ユーザーフォームを表示するために、ワークシートにコマンドボタンを配置し、次のコード行を追加します。
UserForm1.Show
End Sub
これで、Userformの最初の部分が作成されました。見た目はすっきりしていますが、Clearボタンをクリックしても何も起こりません。
6. Visual Basic Editorを開きます。
7.プロジェクトエクスプローラーで、UserForm1をダブルクリックします。
8. [クリア]ボタンをダブルクリックします。
9.次のコード行を追加します。
Dim contr As control
For Each contr In UserForm1.Controls
If TypeName(contr) = "CheckBox" Then
contr.Value = False
End If
Next
End Sub
説明: Excel VBAは、Userformのすべてのコントロールをループします。 TypeName関数は、チェックボックスコントロールをフィルターに掛けるために使用されます。チェックボックスコントロールの場合、Excel VBAはチェックボックスをオフにします。ここでは無作為に選択されますが、任意の名前を使用できます。残りのコードでこの名前を参照することを忘れないでください。
[クリア]ボタンをクリックすると結果が表示されます。