| |
|
|
Sample Macro コントロール・トグルボタン |
 |
|
|
|
7-1) トグルボタンの状態を取得する |
 |
 |
'=========================================================================================
' ◆ユーザーフォームのコード◆
'-----------------------------------------------------------------------------------------
' トグルボタンの状態を調べて表示する
'-----------------------------------------------------------------------------------------
Private Sub UserForm_Click() 'ユーザーフォームでクリック時に動作するマクロ
Dim TBName(3) As Object 'オブジェクトを参照する変数
'
Set TBName(1) = ToggleButton1 'オブジェクトを変数に代入する
Set TBName(2) = ToggleButton2
Set TBName(3) = ToggleButton3
'
For t = 1 To 3 '変数tの値が1から3になるまで
onoff = TBName(t).Value 'トグルボタンの状態を取得する
If onoff Then 'トグルボタンがオン(True)の状態なら
a = a + 1 '変数aに 1加える
End If
Next '繰り返す
MsgBox "オン(True)は全部で " & a, vbInformation, "すぐマク" 'オンの数を表示する
End Sub
'-----------------------------------------------------------------------------------------
' 例えば ToggleButton1〜ToggleButton672 という名前のトグルボタンの場合
'-----------------------------------------------------------------------------------------
Private Sub UserForm_Click() 'ユーザーフォームでクリック時に動作するマクロ
Dim i As Long
Dim myCnt As Long
For i = 1 To 672 '672=7×24×4
If Controls("ToggleButton" & i).Value Then myCnt = myCnt + 1 '※1
Next
MsgBox myCnt
End Sub
'-----------------------------------------------------------------------------------------
' トグルボタンの名前がバラバラの場合
'-----------------------------------------------------------------------------------------
Private Sub UserForm_Click() 'ユーザーフォームでクリック時に動作するマクロ
Dim myCtrl As Control
Dim myCnt As Long
For Each myCtrl In Controls
If TypeName(myCtrl) = "ToggleButton" Then
If myCtrl.Value Then myCnt = myCnt + 1
End If
Next
MsgBox myCnt
End Sub
'=========================================================================================
<コメント>
※1 Controlsコレクションのオブジェクト名を変化させている
くわしい解説が、オブジェクト名を変化させながら使うには にあります
|