Excel VBA質問箱 IV

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

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


36491 / 76738 ←次へ | 前へ→

【45428】Re:チェックボックス
回答  Kein  - 06/12/24(日) 16:55 -

引用なし
パスワード
   フォームツールバーのコントロールの長所は、コレクションオブジェクトを使う
によって簡単に配列のように扱えることです。即ち、同種のコントロールを
シートに配置した順に 1,2,3・・とIndexがつきます。これを利用して名前が
分からなくても特定のコントロールを操作できるわけです。また、Callerプロパティ
によって"現在操作しているコントロールの名前"が取得できますから、例えば

Sub MyCheckBox()
  Dim x As Variant
  Dim Msg As String
 
  x = Application.Caller
  If VarType(x) <> 8 Then Exit Sub
  Select Case ActiveSheet.CheckBoxes(x).Value
   Case xlOn: Msg = "オン"
   Case xlOff: Msg = "オフ"
  End Select
  MsgBox x & " のチェックは" & Msg & "になります"
End Sub

というようなマクロを登録すれば、登録した全てのチェックボックスの
チェックの変化をメッセージできます。20個も配置するなら、このような
マクロ一つで"どれがチェックされたか"を判定して処理を分岐できるので、
コーディングを大いに省力化できるはずです。上のコードで x に入る値は、
予め数式バーを開いておき、Ctrlキーを押しながら任意のコントロールを
選択したとき、数式バーの左端の窓に表示される名前になりますから、
それをメモしておいて Select Case で分岐・判定するコードを書くのです。
なお、コレクションオブジェクトのメソッドには、一括削除するDeleteや
マクロを一括登録するOnActionがあるので、手作業でする手間を省くことも
できます。

0 hits

【45421】チェックボックス ユニフ 06/12/24(日) 0:39 質問
【45422】Re:チェックボックス ぱっせんじゃー 06/12/24(日) 8:16 発言
【45423】Re:チェックボックス メカ大好き! 06/12/24(日) 16:03 発言
【45424】Re:チェックボックス メカ大好き! 06/12/24(日) 16:19 発言
【45425】Re:チェックボックス ぱっせんじゃー 06/12/24(日) 16:20 発言
【45427】Re:チェックボックス ユニフ 06/12/24(日) 16:41 質問
【45429】Re:チェックボックス メカ大好き! 06/12/24(日) 17:20 発言
【45434】Re:チェックボックス ユニフ 06/12/24(日) 18:04 発言
【45436】Re:チェックボックス りん 06/12/24(日) 18:23 発言
【45439】すごい! ユニフ 06/12/24(日) 18:39 発言
【45440】Re:すごい! りん 06/12/24(日) 18:46 発言
【45442】Re:すごい! ユニフ 06/12/24(日) 19:03 お礼
【45437】Re:チェックボックス メカ大好き! 06/12/24(日) 18:25 発言
【45438】Re:チェックボックス メカ大好き! 06/12/24(日) 18:32 発言
【45441】解決しました! ユニフ 06/12/24(日) 18:53 お礼
【45457】Re:解決しました! Jaka 06/12/25(月) 14:52 発言
【45431】Re:チェックボックス メカ大好き! 06/12/24(日) 17:42 発言
【45426】Re:チェックボックス ぱっせんじゃー 06/12/24(日) 16:26 発言
【45428】Re:チェックボックス Kein 06/12/24(日) 16:55 回答
【45430】Re:チェックボックス メカ大好き! 06/12/24(日) 17:29 発言
【45432】Re:チェックボックス ユニフ 06/12/24(日) 17:42 発言
【45433】Re:チェックボックス Kein 06/12/24(日) 18:03 発言
【45435】Re:チェックボックス ユニフ 06/12/24(日) 18:19 発言

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