[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『大量のチェックボックス 複数チェックできるようにしたい(すべて一括ではない)』(ポム)
お世話になっております。
大量のチェックボックス(1000個以上)があります。
一箇所チェックすると複数同時にチェックできる方法が知りたいです。
マクロでそのようなことは可能でしょうか。
Shiftを押して始点を決めて複数選択・・・という方法が理想的です。
超初心者です。自分なりに調べてみたのですが全て一括しかわかりませんでした。
ご教示いただけますようどうぞ宜しくお願いいたします。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
自分なりに調べてみたのですが全て一括しかわかりませんでした。
その全て一括のコードを提示してください。
(hatena) 2019/02/07(木) 14:44
ちなみに、手作業でもフォームコントロールの方ならば、「ホーム」−「検索と選択」−「オブジェクトの選択」を選んだ後(選ぶと、アイコンに枠が付きます。もう一度選択すると消えます)、マウスで範囲選択すると、複数オブジェクトを選択状態にできます。 更に、Shiftを押しながらクリックすると、飛び飛びの指定もできます。(Excel2010のメニュー例なので、2016だと少し違うかも知れません)
選択状態にした後、マクロの編集画面(ALT+F11)のイミディエイトウィンドウ上(無ければCTRL+G)で、「selection.value=true」とかfalseとか入力すると、一気にプロパティを変えられますよ。
ActiveXの場合は、複数選択は難しいと思います。 マクロのデザインモードならオブジェクトを指定できるのですが、実行モードでは触れないんですね。
どちらの場合でも、自由選択は諦めて、決まったオブジェクトを切り替えるなら、マクロで実現できるでしょう。
(???) 2019/02/07(木) 14:50
チェックボックスはVisual Basicの標準モジュールで下記のように作成しました。
Sub チェックボックス生成()
Dim i As Long Dim bufA As String Dim bufB As String Dim bufC As Long Dim bufD As Long
bufA = Application.InputBox("チェックボックスを表示する列 (例)A", "入力1 / 4", Type:=2) bufB = Application.InputBox("リンクするセル (例)B", "入力2 / 4", Type:=2) bufC = Application.InputBox("入力を開始する行番号 (例)1", "入力3 / 4", Type:=1) bufD = Application.InputBox("入力を終了する行番号 (例)10", "入力3 / 4", Type:=1)
For i = bufC To bufD
ActiveSheet.CheckBoxes.Add(442, 162, 27.5, 19).Select With Selection .Caption = "" .Value = xlOn .LinkedCell = CStr(bufB) & i .Display3DShading = False .Top = ActiveSheet.Range(CStr(bufA) & i).Top .Left = ActiveSheet.Range(CStr(bufA) & i).Left End With
Next
End Sub
hatena様
一括のコードはコマンドボタンを使用して、チェックを外す場合のみ取り入れております(>_<)
Private Sub CommandButton1_Click()
ActiveSheet.CheckBoxes.Value = False End Sub
すみません。本当に勉強不足で。。。
???様、フォームコントロールでまたチェックボックスを作成しなおして複数選択の方法を試してみます(^^)
(ポム) 2019/02/07(木) 15:10
横から失礼しますが、リンクさせるセルがあるなら、そのセルを書き換えちゃったほうが早いような? |[A] |[B] [1] |□A-1 |FALSE [2] |□A-2 |FALSE [3] |□A-3 |FALSE [4] |□A-4 |FALSE [5] |□A-5 |FALSE [6] |□A-6 |FALSE [7] |□A-7 |FALSE [8] |□A-8 |FALSE [9] |□A-9 |FALSE [10]|□A-10|FALSE て感じで、A4-A7をチェックしたければ B4:B7を選択して、TRUEと入力して、Ctrl+Enterで確定させれば行けるかと。
(稲葉) 2019/02/07(木) 15:19
>一箇所チェックすると複数同時にチェックできる方法が知りたいです。
なんかすげえ無駄なことをやっている様な気がします。 何のためのチェックボックス? 単純なループで澄まない???
>大量のチェックボックス(1000個以上)があります。
大体、1000個も内容を確認する人っているのでしょうか?
と、言うのが感想。 (BJ) 2019/02/07(木) 15:28
リンクさせるセルがあるので、教えて頂いた方法を試したら出来ました!
チェックをすることばかりにとらわれていたので、、、ありがとうございます!(*^^*)
(ポム) 2019/02/07(木) 15:31
10数個の区分をひとまとめにすると、多いときは1000個超えてしまうようです。
必要で、頼まれて作成しているのと私も初めてのチェックボックスだったりモクロで手探りの状態です(>_<)
(ポム) 2019/02/07(木) 15:42
ちなみに、チェックボックス1000個並べるというのもなぁ…、という感想を私も持ちました。 行に対応して何かするなら、ただのセルで良くて、空欄かそれ以外でいいじゃん!、という感じです。
(???) 2019/02/07(木) 15:47
1000個も並べて、そこからチェックされた分を別シートに飛ばしての作業なので重いですよね。。。
もう少しいろいろ考えてみます(>_<)
ご返答頂けた皆様、ありがとうございました(*^^*)
(ポム) 2019/02/07(木) 16:04
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.