エクセルのチェックボックスをセルに埋め込む方法と様々な設定方法

エクセルのチェックボックスをセルに埋め込む方法と様々な設定方法

本記事では、VBAを使ってエクセルのチェックボックスをセルに埋め込む方法や埋め込んだチェックボックスを編集する様々な設定方法について説明します。

VBAを使えば、チェックボックスをセルに埋め込むだけでなく、文字色や背景色などのデザインも変えることができます。これを機会に覚えておくと良いでしょう。

チェックボックスの作り方

チェックボックスの例

エクセルのチェックボックスとは、画像のようにクリックすることでチェックマークが入る小さな四角い枠を作成する機能のことです。

エクセルでチェックボックスを作成する方法が分からない方は、以下の記事「チェックボックスの作り方」セクションをご参照ください。

エクセルのチェックボックスをセルに埋め込む方法

このセクションでは、エクセルのチェックボックスをセルに埋め込むためのVBAサンプルコードと埋め込むための手順について説明します。

事前準備

VBAを使ってエクセルのチェックボックスをセルに埋め込みたい方は、事前準備としてマクロの有効化とVBAコードの確認を行っておきましょう。

マクロを有効化する

マクロの登録を行うには、エクセルファイルを最初にマクロ有効ブックとして保存する必要があります。

下記記事の「マクロ有効ブックとして保存する」セクションでは、エクセルのファイルをマクロ有効ブックとして保存する方法について解説していますのでご参照ください。

開発タブを表示する

エクセルには、初期設定で「開発」タブはありません。「開発」タブはVisual BasicでVBAのコードを入力する時に必要です。

以下の記事では「開発」タブの表示方法について解説しています。どうぞご覧ください。

VBAコードを確認する

チェックボックスをVBAで作成したい方は、以下のサンプルコードをご参照ください。

以下のサンプルコードに特定のコードを追加/変更することにより、テキスト、文字色、太字、背景色などを設定することができます。


Sub Embed_CheckBox()

    '画面更新停止
    Application.ScreenUpdating = False

    With ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, DisplayAsIcon:=False)
        .Width = ActiveCell.Width
        .Height = ActiveCell.Height
    End With
    
    '画面更新再開
    Application.ScreenUpdating = True
     
End Sub

チェックボックスをセルに埋め込む手順

VBAを使ってエクセルのチェックボックスをセルに埋め込む方法については、以下のとおりです。

作業時間:2分


  1. マクロ有効化ブックを開く
    マクロ有効化ブック

    エクセルファイル(マクロ有効化ブック)を開きます。


  2. Visual Basicを選択する
    Visual Basic

    ①【チェックボックスを入力したいセル】、②【開発】タブ、③【Visual Basic】の順に選択します。


  3. コードを選択する
    コードの選択

    「Microsoft Visual Basic for Applications – Book1.xlsm」ダイアログボックスが表示されました。「Book1.xlsm – Sheet1(コード)」が表示されていない場合は、①【表示】タブ、②【コード】の順に選択します。


  4. VBAコードを入力する
    コードの入力

    ①「Book1.xlsm – Module1(コード)」に『VBAのコード』を入力し、②【Sub/ユーザー フォームの実行】を選択し、③【×】ボタンを押します。


  5. チェックボックスをセルに埋め込む
    チェックボックスの表示

    VBAを使ってチェックボックスをセルに埋め込みました。

VBAを使った様々なチェックボックス埋め込みの設定方法

完成形

チェックボックスの埋め込みを行う際、VBAコードを使用してテキスト、文字色、太字、背景色を設定することができます。

下記では、VBAを使った様々なチェックボックス埋め込みの設定方法について説明します。

以下のサンプルコードを基に、チェックボックスの様々な設定を行っていきます。


Sub Embed_CheckBox()

    '画面更新停止
    Application.ScreenUpdating = False

    With ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, DisplayAsIcon:=False)
        .Width = ActiveCell.Width
        .Height = ActiveCell.Height
    End With
    
    '画面更新再開
    Application.ScreenUpdating = True
     
End Sub

テキストを入力する

VBAを使って、エクセルのセルに埋め込んだチェックボックスにテキストを入力してみましょう。

Visual Basic

すでにVBAのコードが入っているエクセルファイルを開きます。

①【開発】タブ、②【Visual Basic】の順に選択します。

コードの選択

「Microsoft Visual Basic for Applications – Book1.xlsm」ダイアログボックスが表示されました。

「Book1.xlsm – Sheet1(コード)」が表示されていない場合は、①【表示】タブ、②【コード】の順に選択します。

コードの入力

「Book1.xlsm – Sheet1(コード)」が表示されました。

上図の位置に『以下のコード』を入力します。


.Object.Caption = "持ちました!"

閉じる

①【Sub/ユーザー フォームの実行】を選択し、②【×】ボタンを押します。

持ちました!

VBAで「持ちました!」のテキストが埋め込まれました。

文字色を設定する

VBAを使って、チェックボックスに埋め込まれたテキストの文字色を変更してみましょう。

Visual Basic

すでにVBAのコードが入っているエクセルファイルを開きます。

①【開発】タブ、②【Visual Basic】の順に選択します。

コードの選択

「Microsoft Visual Basic for Applications – Book1.xlsm」ダイアログボックスが表示されました。

「Book1.xlsm – Sheet1(コード)」が表示されていない場合は、①【表示】タブ、②【コード】の順に選択します。

 .Object.ForeColor = rgbRed

「Book1.xlsm – Sheet1(コード)」が表示されました。

上図の位置に『以下のコード』を入力します。


 .Object.ForeColor = rgbRed

主なカラーの種類については、以下の表をご参考ください。

定数 RGB(赤,緑,青)
rgbBlack 0, 0, 0
rgbBlue 0, 0, 255
rgbGreen 0, 128, 0
rgbPurple 128, 0, 128
rgbRed 255, 0, 0
rgbWhite 255, 255, 255
rgbYellow 255, 255, 0

閉じる

①【Sub/ユーザー フォームの実行】を選択し、②【×】ボタンを押します。

赤色

テキストの文字色が赤に変更されました。

太字を設定する

VBAを使って、チェックボックスに埋め込まれたテキストを太字に変更してみましょう。

Visual Basic

すでにVBAのコードが入っているエクセルファイルを開きます。

①【開発】タブ、②【Visual Basic】の順に選択します。

コードの選択

「Microsoft Visual Basic for Applications – Book1.xlsm」ダイアログボックスが表示されました。

「Book1.xlsm – Sheet1(コード)」が表示されていない場合は、①【表示】タブ、②【コード】の順に選択します。

.Object.Font.Bold = True

「Book1.xlsm – Sheet1(コード)」が表示されました。

上図の位置に『以下のコード』を入力します。


.Object.Font.Bold = True

閉じる

①【Sub/ユーザー フォームの実行】を選択し、②【×】ボタンを押します。

太字

チェックボックスの文字が太字に変更されました。

背景色を設定する

VBAを使って、チェックボックスに埋め込まれたテキストの背景色を変更してみましょう。

Visual Basic

すでにVBAのコードが入っているエクセルファイルを開きます。

①【開発】タブ、②【Visual Basic】の順に選択します。

コードの選択

「Microsoft Visual Basic for Applications – Book1.xlsm」ダイアログボックスが表示されました。

「Book1.xlsm – Sheet1(コード)」が表示されていない場合は、①【表示】タブ、②【コード】の順に選択します。

.BackColor = rgbYellow

「Book1.xlsm – Sheet1(コード)」が表示されました。

上図の位置に『以下のコード』を入力します。


.Object.BackColor = rgbYellow

主なカラーの種類については、以下の表をご参考ください。

定数 RGB(赤,緑,青)
rgbBlack 0, 0, 0
rgbBlue 0, 0, 255
rgbGreen 0, 128, 0
rgbPurple 128, 0, 128
rgbRed 255, 0, 0
rgbWhite 255, 255, 255
rgbYellow 255, 255, 0

閉じる

①【Sub/ユーザー フォームの実行】を選択し、②【×】ボタンを押します。

背景黄色

チェックボックスがあるセルの背景色が変更されました。

また、VBAではなく条件付き書式の設定方法ですが、チェックマークを入れることでチェックボックスがあるセルの背景を塗りつぶす方法もあります。

チェックボックスをオンにしたときにセルの背景が自動的に塗りつぶされるように設定すると、チェックの有無を簡単に確認できるようになります。

フォントサイズを変更する

VBAを使って、チェックボックスに埋め込まれたテキストのフォントサイズを変更してみましょう。

Visual Basic

すでにVBAのコードが入っているエクセルファイルを開きます。

①【開発】タブ、②【Visual Basic】の順に選択します。

コードの選択

「Microsoft Visual Basic for Applications – Book1.xlsm」ダイアログボックスが表示されました。

「Book1.xlsm – Sheet1(コード)」が表示されていない場合は、①【表示】タブ、②【コード】の順に選択します。

フォントサイズ13

「Book1.xlsm – Sheet1(コード)」が表示されました。

上図の位置に『以下のコード』を入力します。


.Object.Font.Size = 13

閉じる

①【Sub/ユーザー フォームの実行】を選択し、②【×】ボタンを押します。

フォントサイズの変更

テキストのフォントサイズが13に変更されました。

Excel,未分類

Posted by admin