ActiveXコントロールのボタン操作

今回の目標

  • ActiveXコントロールを用いたボタンの基本操作ができるようになる
  • 説明

    事前準備

    開発タブを追加してください。
    表示方法がわからない方は下記リンクを参照してください。
    開発タブの追加

    次に、標準モジュールに下のプログラムを記載してください。

    Sub Sample_MakeButton1()
        MsgBox "ボタンがクリックされました!"
    End Sub
    

    これで準備は完了です。

    フォームコントロールとActiveXコントロール

    何が違うのか?

    フォームコントロールとActiveXコントロール。
    シンプルに説明すると次のようになります。

    • フォームコントロール
      ボタン内に表示するテキストのフォントサイズ等の操作ができないが、覚える量が少なく扱いやすい
    • ActiveXコントロール
      初心者だと理解するのに時間がかかるが、ボタン内の背景色の変更等、高度な操作ができる

    装飾が必要なら、ActiveXコントロールが良いでしょう。

    ActiveXコントロールによるボタン操作

    ボタンを作成する

    1. 開発タブをクリックします。

    2. 挿入をクリックします。

    3. 下図の□をクリックします。

    4. すると、下の図のようにカーソルが「+」になります。

      シート上のセルをドラッグします。

    5. ボタンが作成されます。フォームコントロールのボタンとは異なり、マクロとボタンが紐付けられていないので、ボタンをクリックしても反応はありません。

    ボタンとマクロを紐づける

    1. 開発タブの「デザインモード」をクリックします。ただし、既に灰色の状態ならクリックしないでください。



    2. 対象のボタンをダブルクリックします。

    3. VBEがアクティブになります。
      自動的に「CommandButton1_Click」プロシージャが作成され、ここに書いたプログラムが呼び出されます。

    標準モジュール内のプロシージャを呼び出す方法

    標準モジュールを直接呼び出すことはできません。自動的に作成された「CommandButton1_Click」モジュールから標準モジュールのプロシージャを呼び出します。

    Call 呼び出すプロシージャ名
    

    本章では「Call」の詳しい説明はしません。

    Private Sub CommandButton1_Click()
        ' 他のプロシージャを呼び出す
        Call Sample_MakeButton1
    End Sub
    

    表示テキストを変更する

    1. 開発タブの「デザインモード」をクリックします。ただし、既に灰色の状態ならクリックしないでください。



    2. 対象のボタンを右クリックします。

    3. 「プロパティ(I)」を選択します。

    4. 「Caption」の右の四角をダブルクリックします。

    5. 表示したい文字を入力するとボタンの表示文字も変わります。

    サイズを変更する

    1. 開発タブの「デザインモード」をクリックします。ただし、既に灰色の状態ならクリックしないでください。



    2. 対象のボタンをクリックします。

    3. ボタンのふちにある「○」にマウスを移動するとカーソルが変わります。
      その状態でドラッグするとサイズが変更されます。

    ボタンを移動させる

    1. 開発タブの「デザインモード」をクリックします。ただし、既に灰色の状態ならクリックしないでください。



    2. 対象のボタンをドラッグすると、移動します。

    ボタンの背景色を変更する

    1. 開発タブの「デザインモード」をクリックします。ただし、既に灰色の状態ならクリックしないでください。



    2. 対象のボタンを右クリックします。

    3. 「プロパティ(I)」を選択します。

    4. 「BackColor」の右にある枠をクリックします。

    5. プルダウンのボタンが表示されますので、クリックします。

    6. 色を選択できます。オーソドックスな色がそろっているシステムタブとカラーバリエーションあふれるパレットタブがあるので、切り分けて色を選択してください。

    数式バーをクリックした時

    デザインモードでボタンをアクティブにした状態で数式バーをクリックすると関数の対象のセルを選択状態になってしまいます。この状態で確定しようとすると次のエラーが発生します。

    この数式内の範囲の参照または定義された名前が見つかりません。

    この状態になってしまったら「Esc」キーを押してください。
    一般的なキーボードでは一番左上にあると思います。
    なお、このエラーはEscキーを押すまでExcelを終了することができません

    関連リンク

    次ページ:なぜ「マクロが無効にされました。」と警告される?

    前ページ:フォームコントロールのボタン操作

    ページの先頭へ