Posted at

Excelでボタンとか使うときのメモ

More than 3 years have passed since last update.


基礎知識

時間があればワークシート内のフォーム、フォーム コントロール、および ActiveX コントロールの概要を参照すること。

簡単な機能を実装するには ActiveX コントロールを使用するのが妥当。

フォームコントロール、ユーザコントロールについては触れない。


コントロールの使い方


ActiveX コントロールをワークシートに配置する

開発タブの挿入から選択する。コントロールのサイズなどを変更するにはデザインモードを使用する。

開発タブ


イベントの設定

コントロールとVBAコード(Subプロシージャ)はプロシージャ名によって関連付けられる。

命名構文は ControlName_EventName のようにする。

Private Sub CommandButton1_Click()

' オブジェクト名が CommandButton1 の
' コントロールが Click された再に実行される
End Sub

簡単には下記の赤枠のあたりを弄る。

イベントの設定


VBAからコントロールを参照する

' ActiveX コントロールオブジェクトの取得

' インデックス番号で選択する場合
dim obj
set obj = activeSheet.OLEObjects.item(1) ' インデックスは 1 から

' オブジェクト名が CommandButton1 である場合
dim obj2
set obj2 = activeSheet.OLEObjects.item("CommandButton1")

オブジェクト名を調べるには開発タブのプロパティボタンをクリックし、プロパティウィンドウを表示する。プロパティウィンドウには、現在フォーカスされているオブジェクトのプロパティが表示される。調査対象のコントロールがうまくフォーカスできない場合はデザインモードを使用する。

プロパティウィンドウ


API(MSDNリンク)