Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5928 / 13645 ツリー ←次へ | 前へ→

【48145】CheckBoxの使い方 ToShi 07/4/5(木) 6:59 質問[未読]
【48149】Re:CheckBoxの使い方 りん 07/4/5(木) 8:43 発言[未読]
【48156】Re:CheckBoxの使い方 Kein 07/4/5(木) 14:23 回答[未読]
【48170】Re:CheckBoxの使い方 ToShi 07/4/5(木) 22:09 お礼[未読]

【48145】CheckBoxの使い方
質問  ToShi  - 07/4/5(木) 6:59 -

引用なし
パスワード
   CheckBoxだけで動作させる方法を検討していますが・・・
コマンドボタンを使わずに、CheckBoxだけの操作をコードにしたいのですが、
どのようにすると良いのでしょうか?アドバイスお願いします。

Private Sub Commandbutton1_click()
 Dim ch As Boolean
 Dim i As Integer
  For i = 1 To Controls.Count - 1
    If Me.Controls("CheckBox" & i).Value = True Then
    ch = True
'     MsgBox i & "が選択されました"
     Run "test" & i
    If ch = True Then Exit For
     Controls("CheckBox" & i).Value = False
    End If
 Next
End Sub

【48149】Re:CheckBoxの使い方
発言  りん E-MAIL  - 07/4/5(木) 8:43 -

引用なし
パスワード
   ToShi さん、おはようございます。

>CheckBoxだけで動作させる方法を検討していますが・・・
>コマンドボタンを使わずに、CheckBoxだけの操作をコードにしたいのですが、
>どのようにすると良いのでしょうか?アドバイスお願いします。
CheckBoxのChangeイベントで操作してみてはいかがでしょうか?

'フォームに書く
Private Sub CheckBox1_Change()
  MsgBox CheckBox1.Value
End Sub

こんな風にまとめる事もできます(全部フォームに書く)。
Private Sub CheckBox1_Change()
  cbcall CheckBox1
End Sub
Private Sub CheckBox2_Change()
  cbcall CheckBox2
End Sub
Private Sub CheckBox3_Change()
  cbcall CheckBox3
End Sub
'↓実働部分はここ
Private Sub cbcall(ctl As Control)
  MsgBox ctl.Value, vbInformation, ctl.Name
End Sub

クラスモジュールでイベントを共有する方法もあるらしいです。

【48156】Re:CheckBoxの使い方
回答  Kein  - 07/4/5(木) 14:23 -

引用なし
パスワード
   シート上に配置するなら、フォームツールバーのチェックボックスを
使った方が安定しているし、呼び出すマクロも1つで済みます。
テストとして、いくつかのチェックボックスを配置し、以下のマクロを
実行してマクロを割り当てて下さい。

Sub ADD_Macro()
  ActiveSheet.CheckBoxes.OnAction = "Test_AC"
End Sub

↓こちらは呼び出されるマクロです。
上のマクロと共に、標準モジュールへ入れておいて下さい。

Sub Test_AC()
  Dim x As Variant
 
  x = Application.Caller
  If VarType(x) <> 8 Then Exit Sub
  With ActiveSheet.CheckBoxes(x)
   If .Value = xlOn Then
     MsgBox x & " がチェックされました"
   Else
     MsgBox x & " のチェックが外されました"
   End If
  End With
End Sub

【48170】Re:CheckBoxの使い方
お礼  ToShi  - 07/4/5(木) 22:09 -

引用なし
パスワード
   ▼りんさん Kein さん:

りんさんのご指摘の
CheckBoxのChangeイベントでコードを作成すると良いことが分かりました。
有難うございました。おかげさまで、便利に使えるようになりました。
Initializeで呼び出す方法がないか等、色々と考えたのですが、ダメなんで
しょうね。

それから
Keinさん
有難うございました
フォームツールバーのチェックボックスは素晴らしい
体験をさせていただきました。
少しコードの書き方が、小生には難しいですが、これから
少しずつ勉強させていただきます。呼び出すマクロが1つで
できるなんて、素晴らしく唸りました。

これからもよろしくご指導のほどお願いします。
失礼しました。

5928 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free