0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【EXCEL】チェックボックス3種類

0
Posted at

やること

 チェックボックスに関するメモ。

事前メモ

【Excel新機能】チェックボックスに面倒な操作はもういらない! [挿入]タブから追加 - いまさら聞けないExcelの使い方講座 - 窓の杜

今井 孝 2024年7月10日 06:55

エクセルで“チェックボックス”を活用するといえば、[開発]タブを表示して[チェックボックス]をワークシートに配置、続けてリンクするセルを設定と、少し難易度の高いテクニックでした。

 しかし、今後は複雑な操作は必要なし。新しいチェックボックスの機能が登場しました。6月27日にマイクロソフトから公式発表されており、7月末にはすべてのユーザーが利用できるとのことです。

 Microsoft Supportのリンクも参考までに記載。

Excel でのチェック ボックスの使用 | Microsoft Support

 過去は「チェックボックス」=「面倒」で、☑などの文字を使用する案も多かった。

エクセルのチェックボックス機能は非効率。プルダウンで代用すべき3つの理由と作り方を解説

 今回は、以下3つに関するメモ。

  • フォームコントロール
  • ActiveX コントロール
  • セル内チェックボックス

事前確認:Qiitaでの記事

 ということで、以下の検索をしたところ、45件ヒットした。(2026/06/20時点)

「EXCEL チェックボックス ActiveX」の検索結果 - Qiita

 また、以下の検索をしたところ、95件ヒットした。(2026/06/20時点)

「EXCEL フォームコントロールのチェックボックス」の検索結果 - Qiita

 この中から、気まぐれに以下紹介。

動かないとき

「変数が定義されていません」というエラーの対処 #Excel - Qiita
最終更新日 2025年05月26日 投稿日 2025年05月23日

Excel VBA:ボタンのプロパティを確認するコード集 #VBAメモ - Qiita
投稿日 2025年10月15日

Excel VBA チェックボックスがリンク切れでOnにならない場合のリンク先セルアドレスを消去するマクロ #Excel - Qiita
最終更新日 2022年02月12日 投稿日 2021年12月17日

Tips

[VBA]コマンドボタンのカラーを変更する #VBA備忘録 - Qiita
最終更新日 2024年11月25日 投稿日 2024年10月29日

【ExcelVBA】ユーザーフォームの部品をループ文で(動的に)に作る時のノウハウ #Excel - Qiita
最終更新日 2022年11月25日 投稿日 2022年11月25日

代替え案

Excel checkbox optionbutton 重いチェックボックス対策 超軽量チェックボックス #マクロ - Qiita
最終更新日 2020年06月02日 投稿日 2020年05月31日

簡易メモ

 メニューで、ActiveX コントロールのチェックボックスが出ない場合、上記で紹介しているサイトでも記載されているが、「ActiveX の設定」を確認。

  1. ファイル → オプション
  2. トラストセンター → トラストセンターの設定
  3. ActiveX 設定:すべての Office アプリケーションに適用する ActiveX の設定
    「○ 警告を表示せずにすべてのコントロールを無効にする(D)」が選択されていないこと

 ※ 自分の環境は、気づかないうちに「無効」になっていた
image.png
 VBAでの取り扱いを簡単にまとめる。

種類 参考資料 VBAでの判定方法 メモ
フォームコントロー LINK .CheckBoxes("名前").Value チェックなし:-4146
ActiveX コントロール LINK CheckBox1.Value 環境依存あり
セル内チェックボックス LINK セルの値 Excel 365の新機能

 VBAでの取り扱いの違いは以下参照。

チェックボックス.bas
Sub test()
    ' フォームコントロールのチェックボックス
    If Worksheets("Sheet1").CheckBoxes("Check Box 2").Value = 1 Then
        MsgBox "チェックされている", , "フォームコントロール"
    Else
        MsgBox "チェックされていない", , "フォームコントロール"
    End If

    ' ActiveX コントロールのチェックボックス
    If Sheet1.CheckBox2.Value = True Then
        MsgBox "チェックされている", , "ActiveX"
    Else
        MsgBox "チェックされていない", , "ActiveX"
    End If

    ' セル内チェックボックス
    If Worksheets("Sheet1").Range("B7").Value = True Then
        MsgBox "チェックされている", , "セル内チェックボックス"
    Else
        MsgBox "チェックされていない", , "セル内チェックボックス"
    End If
End Sub

image.png image.png image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?