質問: エクセルでマクロを使わずに複数のチェックボックスに一括チェックするコマンドボタンを作れますか? エクセルで商品管理のシートを作成しています。 10店舗ほど支店があるので、取扱店舗をチェックボックスで 選択できるようにしていますが、全店取扱の商品がかなり有るので 一括で10個のチェックボックスにチェック出来る様にしたいのです。 最初はコマンドボタンのlinkedcellにチェックボックスで参照している セルが連動するように数式を入れていたのですが、このやり方だと ボタンを使わずにチェックボックスを使うと参照セルの数式が 「true/false」に上書きされてしまい、以後ボタンと連動しなくなってしまいます。 出来ればコマンドボタンのlinkedcellプロパティを複数セルに指定したいのですが、可能でしょうか? ※「a1:g1」等と設定してみたのですが、連動するのは「a1」のみでした... vbaを使用すれば良いのでしょうが、まったく知識が無いので時間的に厳しい状況です。 どなたかお分かりの方がいらっしゃればご助言お願いいたします。
回答: こんにちは。 #2 です。二人が回答して、それぞれ別の教え方をしているようでは、混乱してしまいますが、私は、あくまでも commnadbutton(コマンドボタン)で書かせていただきます。 >どこの記述を変えれば狙ったチェックボックスのグループを >反転できるのかが判らず八方塞です。 「一括で10個」 という意味が、任意のグループというのは、今、分かりました。 array(2, 4, 5, 6, 7, 8) ←ここに、連動させる番号を「,(コンマ)」区切りで、入れてあげます。存在しない番号はいれないでくださいね。エラーになってしまいますから。 この中自体は、順番でなくてもよいです。なお、番号は、コントロールツールの青い三角のアイコンをオンにして、マウスを当てれば、チェックボックスの名称を変更していなければ、出てくるはずです。 '------------------------------------------------------- private sub commandbutton1_click() dim i as variant dim bln as boolean dim nums as variant nums = array(2, 4, 5, 6, 7, 8) 'チェックボックスの番号を入れる bln = me.oleobjects("checkbox" & nums(0)).object.value '最初のチェックボックスにしたがって反転にさせます。true <-> false for each i in nums me.oleobjects("checkbox" & i).object.value = not bln next i end sub なお、今から、マクロを勉強しても、このレベルになるのは、半年先ぐらいになってしまいますから、もうお任せしたほうが早いと思います。(^^;