コントロールを文字列(変数)を使って参照する
 コントロール名を表す文字列を代入した変数と、
Controlsコレクションを使って、コントロールを参照することができます。

 サンプルマクロでは、フォーム「UserForm1」にチェックボックスを
12個配置して、このチェックボックスの状態を順に参照しています。

 チェックボックスには、「ck1」〜「ck12」の名前が付けられているとします。
 マクロは、同じフォーム上に配置されたコマンドボックス「CommandButton1」
のクリック時のイベントプロシージャに作成していますので、
フォームを表示して、いくつかのチェックボックスをチェックしてから
コマンドボタンをクリックすると、「ck1」から順番にチェック状態が
メッセージボックスに表示されます。

Private Sub CommandButton1_Click()
    Dim nCnt    As Integer
    Dim strCtl  As String
    
    For nCnt = 1 To 12 Step 1
        strCtl = "ck" & CStr(nCnt)
        If UserForm1.Controls(strCtl).Value = True Then
            MsgBox strCtl & "は、ONです"
        Else
            MsgBox strCtl & "は、OFFです"
        End If
    Next nCnt

End Sub

Excel97/2000



戻る


Excel Word Access VBA! モーグ