フォームと、それらに追加できる多くのコントロールとオブジェクトを使用して、ワークシートでデータを簡単に入力し、ワークシートの外観を向上させることができます。 Microsoft Visual Basic for Applications (VBA) のコードをほとんど、またはまったく必要としないで、自身の操作でこれらのことを行うこともできます。
ワークシートフォームは、Excel テンプレートとは異なります。 テンプレートは、あらかじめ書式設定されたファイルであり、意図したとおりに表示されるブックの作成を開始できます。 フォームには、ボックスやドロップダウンリストなどのコントロールが含まれているので、ワークシートを使ってデータの入力や編集が簡単にできるようにすることができます。
フォームコントロール
フォームコントロールはコマンドボタンを除いて主にセルとリンクさせて使用します
リンクされたセルにはコントロールの状態(値)が反映されます。 この値を使用することで数式やグラフをフォームコントロールから操作することができます。
また、フォームコントロールはフォームコントロールはコマンドボタンを除いて主にセルとリンクさせて使用し特定のイベントへ簡単にマクロを登録することが可能になっています。
手っ取り早くマクロ起動ボタンを作成したい場合はフォームコントロールのコマンドボタンを使用するとよいでしょう。
-
-
- ワークシート上に設置することが可能
- ユーザーフォームに設置することは不可能
- コントロールの状態(値)をVBAから取得・設定することは不可能
- コントロールの特定イベントからマクロを実行することが可能
- コントロールの変更可能なプロパティはかなり限られている
-
ActiveX コントロール
コントロールの状態(値)を VBA で直接操作したい場合は ActiveX コントロールを使用します。 ActiveX コントロールには
広範囲なプロパティがありますので、 フォームコントロールでは対応できない細かな設計要件に対応することが可能です。
-
-
- ワークシート上に設置することが可能
- ユーザーフォームに設置することが可能
- コントロールの状態(値)をVBAから取得・設定することが可能
- コントロールの様々なイベントからマクロを実行することが可能
- コントロールの色をはじめとする様々なプロパティを変更することが可能
-
- 上記で説明したようにActiveX コントロールはユーザーフォームに設置することができます。 ユーザーフォームの作成方法などについては以下のカテゴリを参照してください。
使い方
コマンドボタン、テキストボックス、リストボックスなどのActiveXコントロールを作成する方法を学びます。Excel VBAでActiveXコントロールを作成するには、次の手順を実行します。
1. 開発者タブで、挿入をクリックします。
2.たとえば、ActiveXコントロールグループで、コマンドボタンコントロールを挿入するために、コマンドボタンをクリックします。

3.ワークシートのコマンドボタンをドラッグします。
4.コマンドボタンを右クリックします(デザインモードが選択されていることを確認してください)。
5.コードの表示をクリックします。

注:コントロールを右クリックして(デザインモードが選択されていることを確認して)[プロパティ]をクリックすると、コントロールのキャプションと名前を変更できます。コマンドボタンのキャプションを「青いテキストカラーを適用」に変更します。今のところ、CommandButton1をコマンドボタンの名前として残します。
Visual Basic Editorが表示されます。
6. Private Sub CommandButton1 Click()とEnd Subの間に次のコード行を追加します。

7.範囲B2:B4を選択し、コマンドボタンをクリックします(デザインモードが選択解除されていることを確認してください)。
結果:

コメントを残す