• ベストアンサー

エクセルのマクロを用いてチェックボックスをまとめてチェックする方法

エクセルを用いてチェックボックスが縦に並んだ書類を作っているのですが、チェックする項目のパターンが決まっているので毎回同じところにチェックするのが面倒です。 ワンクリックで複数のチェックがかけられるようにしたいのですが、 ツール→マクロ→新しいマクロの記録 で複数のチェック「レ」ができるようにマクロのを登録してみたのですがチェックがかかりません。 何かよい方法は無いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 全部チェック Sub Test1() 'フォームツール  ActiveSheet.CheckBoxes.Value = True End Sub Sub Test2() 'コントロールツール   Dim ctrl As Object   For Each ctrl In ActiveSheet.OLEObjects     If TypeOf ctrl.Object Is MSForms.CheckBox Then       ctrl.Object.Value = True     End If   Next ctrl End Su 個別にチェック Sub Test1a() 'フォームツール  ActiveSheet.CheckBoxes(Array(1, 3, 5)).Value = True End Sub Sub Test2a() 'コントロールツール   Dim i As Variant   For Each i In Array(1, 3, 5)     ActiveSheet.OLEObjects("CheckBox" & i).Object.Value = True   Next i End Sub なお、シートモジュールの場合は、ActiveSheet. は不要です。

ryunosakebi
質問者

お礼

ご回答ありがとうございました。 どうも会社のPCがすべてマクロ禁止に設定されていることができない原因のようでした・・。お騒がせいたしました。

その他の回答 (2)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

シートに貼り付けたフォームのチェックボックス1・3・5にチェックを入れて、 それ以外はチェックを外すのなら。 Sub try()   Dim c As Excel.CheckBox   For Each c In ActiveSheet.CheckBoxes     Select Case Replace(c.Name, "Check Box ", "")     Case 1, 3, 5       c.Value = xlOn     Case Else       c.Value = xlOff     End Select   Next End Sub こんなのとか?

ryunosakebi
質問者

お礼

ご回答ありがとうございました。 どうも会社のPCがすべてマクロ禁止に設定されていることができない原因のようでした・・。お騒がせいたしました。

  • pbforce
  • ベストアンサー率22% (379/1719)
回答No.1

チェックボックスのValueプロパティをTrueにして下さい。

ryunosakebi
質問者

お礼

ご回答ありがとうございました。 どうも会社のPCがすべてマクロ禁止に設定されていることができない原因のようでした・・。お騒がせいたしました。

関連するQ&A

  • チェックボックスでマクロ警告はでますか?

    こんにちは Excelは使いなれているのですが、マクロに関しては あまり詳しくなくて、書式コピーを登録した事がある程度です。 今回質問させていただきたいのはチェックボックスについてです。 ネットshopをやっていて、FAXで注文するための書類を 画像にして印刷してもうらう方法を取っているのですが 毎回使う人用に、Excelデータを作る事にしました。 それで、支払方法などをチェックボックスで選択する様に 作ったのですが、ファイルを開く時にマクロ警告が出てくるようになってしまいました。 最初は、以前作ったマクロが残っているのだろうと ネットで調べてモジュールの開放をやってみたのですが やはり警告が出るので、もしかしてチェックボックスも マクロと言うことなのかな?と 調べた感じではどうもそうらしいのですが、単に私の勘違いなのか良くわからず、こちらで質問させて頂きました マクロであるならば、警告が出るのは当然なのですが、ダウンロードした人はウイルスかどうか悩んでしまうと思うので何か良い方法(マクロでないチェックボックスがある、など)もあればそちらもお願い致します 無理であれば、チェックボックスを単なる"□"(文字)にしようとは思っていますが、出来るだけ簡単に入力していただけるフォームにしたいので、よろしくお願い致します。

  • マクロの組み方とチェックボックスに関して

    【マクロ】の設定とチェックボックスを一括ではずす方法 1.マクロは新しいマクロの記録しか使ったことがないのですが、以下のことをやるとうまくいきません。 ・「目次」というセル以外を選択 ・B列を選択し、「ジャンプ」→「セル選択」→空白セルにチェックマーク ・「書式」→「行」→「表示しない」 以上のことをマクロに記録したいです。 マクロでなければうまく反映したのですが、新しいマクロの記録からだとうまく行きません>< 2.チェックボックスを一括(全シート)ではずす方法がありましたら教えて下さい!! ツールバーから作ったので図形のようになっていて、全シート選択すると○になってしまい選択できないのです。。

  • エクセルマクロ チェックボックスの作成

    こんにちわ エクセルマクロを使ってチェックボックスを指定の位置に移動しようと思ったのですが、なぜかずれます。 作ったマクロは↓ For i = 0 To 2 Step 1 For j = 1 To 6 Step 1 ActiveSheet.CheckBoxes.Add(444, 153 + j * 18 + i * 198, 24, 18).Select Selection.Characters.Text = "" Next j next i 数式上縦距離j=1の時点で 171 369 567 (↑この値にしたい) しかし、実行してみると i=2の時点で縦距離が567のはずが563.25の位置にチェックボックスが作られます。 なぜこうなるのか、どうしたら修正できるかわからないので、アドバイスお願いいたします。 ちなみに使っているのはoffice2003エクセルです

  • マクロを使って一度に複数チェックしたい

    EXCEL2000でマクロを使って、ボタンを押し一度に複数のチェックボックスにチェックをつける方法を知りたいのですが、どなたか教えてください。ただ単にボタンをクリックするとチェックボックスがチェックされるのではなく、押すボタンによってチェックボックスの組み合わせがパタン化されているチェックの仕方なのです。 例えば、チェックボックスが1から10あるとします。Aというボタンを押すと、チェックされる項目は1と3と5。Bというボタンを押すと、チェックされる項目は2と4と6。というように、ボタンを押すごとにチェックボックスのチェックされるパタンが決まっている場合にチェックする方法が知りたいのです。よろろしくお願いします。

  • エクセルのチェックボックス

    こんにちは。 エクセルのチェックボックスについて一括でチェックをはずす方法を教えて頂きたいのですが、 チェックボックスにチェックを入れると自動で指定した範囲から価格を持ってくるという関数を使ったファイルを作成しました。 下記の(1).(2)の方法でそのチェックボックスのチェックを一括ではずすことは可能でしょうか? (1)そのファイルをチェックが入った状態で保存し閉じても、 再度ファイルを開いた段階で、すべてのチェックがはずれている。 (2)普通の数値が入ったセルに関しては”記録マクロ”を使用し、ボタンを押せば、数値が削除されるという事はできました。 それと同じような感じでボタンを押せば、チェックがはずれる。 もし(1).(2)の方法で可能であればその方法を教えて頂けないでしょうか? また、両方とも不可能ならば他の方法でチェックボックスを一括で外す方法教えて頂けないでしょうか? ちなみに、私は基本的な関数などは問題なく使用できますが、記録マクロに関しても初めて使用した程度のエクセル認識力ですので、いくつか方法があるならば、一番簡単だと思われる方法を教えて頂きたいです。 知識不足でお恥ずかしいですが、 ぜひ、教えて頂けます様、宜しくお願いいたします。

  • Excel マクロでチェックボックスに枠線

    エクセルマクロについて教えて下さい。 Excel2003を使用しています。 1つのシートに、フォームツールボックスからチェックボックスを沢山(300個以上)配置しました。 チェックボックスをクリック(オン)するのと同時にチェックボックスに赤い枠線を付けたいのですが、1つのマクロでチェックボックスのオブジェクト名を取得しながら枠線を付けることは出来ませんでしょうか? 以下のマクロを試してみたのですが、Application.Callerの所でエラーになってしまいました。 Sub checkon() ActiveSheet.Shapes(Application.Caller).Select Selection.ShapeRange.Line.Weight = 3# Selection.ShapeRange.Line.DashStyle = msoLineSolid Selection.ShapeRange.Line.Style = msoLineSingle Selection.ShapeRange.Line.Transparency = 0# Selection.ShapeRange.Line.Visible = msoTrue Selection.ShapeRange.Line.ForeColor.SchemeColor = 10 i = ActiveCell.Address(False, False, xlA1) Range(i).Select End Sub 特定のチェックボックスを指定した場合は、問題ないのですが・・。 (例)ActiveSheet.Shapes("Check Box 1").Select どなたか詳しい方、宜しくお願い致します。

  • Excelのマクロについて

    Excelのマクロについて excel2003で,マクロの自動記録を勉強中です。 [ツール]-[マクロ]-[新しいマクロの記録]でマクロ名を入力し,(マクロの保存先を「作業中のブック」として,)[OK]をクリックすると マクロの記録が始まります。 マクロの記録終了後, [ツール]-[マクロ]-[マクロ]で「マクロ」ダイアログボックスを見ると,マクロ名が表示されます。 この場合は実行も正常にできます。 しかし, ブックを一旦保存した後,開いて,マクロを実行しようと, [ツール]-[マクロ]-[マクロ]で「マクロ」ダイアログボックスを見ると,マクロ名が(マクロ名単独ではなく)ブック名とともに表示されます。 実行するとエラーになります。 何が悪いのか分かりません。なにか基本的なミスがあるのかも知れないと考えました。 原因(ミス)に心当たりのあるかた,是非教えてください。

  • エクセルのチェックボックスについて

    エクセルでアンケートのようなチェック項目がある物を作っているのですが、フォームのチェックボックスは「オン」「オフ」しかないので、次のようなことが出来なくて困っています。 例) □ 今日の天気は晴れです。 □ 今日の天気は雨です。 □ 今は午前です。 □ 2月は英語でFebruaryです。 □ 1+1=2です。    ・    ・    ・ 以上のようにチェック項目があり、該当するところにチェックをつけ、チェックされた数を出します。 また、項目が必要のない時は、例えば二重線(エクセルでは取消線は一本ですが)で消して、消した項目以外の数をだす、というような物です。 この二重線で消すという操作を、チェックボックス上でクリックするだけで、「オン」→「オフ」→「どちらでもない(?)」というようなことは出来るのでしょうか。 チェックボックスのコントロールの書式設定のコントロールタブの中に、「淡色表示」というのがあるのですが、これを「オン」「オフ」と同じようにワンクリックのみで出来たらと思い、質問させていただきました。 分かりにくい質問で大変申し訳ありませんが、どうかお知恵をおかしください。 また、発送の転換で「こんな方法はどう?」などというのがありましたら、お願いいたします。

  • チェックボックスにマクロを入れて印刷する

    チェックボックスにマクロを入れて印刷するやり方について ご教授いただきたく、質問させていただきます。 シート1   A   B   C    D 1  あ  ●  TRUE  レ 2  い  ×  FALSE 3  う  ▲  TRUE  レ エクセルで上記のシートA1,B1にデータを入力し、 Dにあるチェックボックスにチェックを入れると A1の「あ」をコピーし、シート2のX1にペーストして VLOOKUPを使ってシート1のB1をA1に表示させ、 印刷したいと思っています。 (もちろん、「あ」と「●」の2項目しかないわけではなく、 1行に8項目あり、シート1では横一列に並んでいるものを、 シート2の見栄えのいいフォーマットで、印刷します。 行数は100行くらいあります。) シート2     A      X  1  ●         あ マクロの記録で、「チェックを入れる→コピー→ペースト→印刷→シート1に戻る」とし、   Application.Run "Book1.xls!印刷" Range("A1").Select Selection.Copy Sheets("Sheet2").Select Range("X1").Select ActiveSheet.Paste Application.CutCopyMode = False ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("元").Select となりましたが、チェックを入れても動作しなかったため、 「Application.Run "Book1.xls!印刷"」を削除したところ、 正常に動きました。 問題は・・・・    チェックを入れると動作する(^_^)    チェックを外す時も動作する(T_T)    1個のチェックボックスにマクロは設定できたけれど、    100行あったとしたら、100個のチェックボックスを作成し    1個1個マクロを記録させる?まとめてはできない?    チェックボックスをコピー&ペーストしたところ、    うまくいきませんでした。    (チェックを入れると印刷という動作でOKで、     チェックをあらかじめ入れておき、最後に印刷ボタンで     印刷するというやり方ではありません。     VLOOKUPを使っているので、無理ですよね(・_・;)) 初めてのチェックボックスですが、途中まで簡単にできた!と思ったけど、つまづいてしまいました。 色々調べたのですが、素人同然の私には難しくご質問させていただきました。 皆様お忙しいと思いますが、宜しくお願いいたします。                

  • エクセル マクロ フォームのチェックボックス

    エクセルのフォームのチェックボックスで【On】にした際に 「コントロールの書式設定」にある「リンクするセル」のロックをしたいのですが マクロで実現する際、どのようなにできるのでしょうか? また、フォームのチェックボックスで【Off】にした際に、「リンクするセル」のロックの解除のしたいです。 初心者で下記を記述しましたが、チェックボックスが多いため、すべてのチェックボックスに登録するのが時間がかかるのあで、教授お願いします。 Cells.Locked = False ActiveSheet.Protect userinterfaceonly:=True ActiveSheet.Range("AY29").Locked = True

専門家に質問してみよう