Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
3
Help us understand the problem. What is going on with this article?
@asterisk9101

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

More than 5 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リンク)

3
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
3
Help us understand the problem. What is going on with this article?