Excel VBAを使って、シート上に配置したボタンをクリックするとフォームが表示され、そのフォーム内のOKボタンをクリックしてVBAを実行する処理を作成したい方に向けた解説です。この記事では、ボタンの作成からフォーム表示、そしてOKボタンでVBAを実行するまでの流れを詳しく説明します。
シート上のボタンを作成する
まず、Excelの開発タブから「挿入」を選択し、「フォームコントロール」の中から「ボタン」を選びます。このボタンをシート上に配置することで、ユーザーがクリックできるボタンを作成できます。
ボタンを配置した後、ボタンを右クリックし「マクロの登録」を選択します。ここで、ボタンをクリックした時に実行するマクロを指定しますが、この時点ではまだマクロは作成していませんので、後でVBAコードを追加します。
フォームの作成と設定
次に、VBAで表示させるフォームを作成します。VBAエディタを開き、挿入メニューから「ユーザーフォーム」を選択して、新しいフォームを作成します。フォームには必要なコントロール(例えば、テキストボックス、ボタンなど)を配置します。
フォーム内のOKボタンに、VBAコードを設定します。OKボタンをダブルクリックして、ボタンがクリックされた時に実行するVBAコードを記述します。例えば、フォームが閉じると同時に特定の処理を実行する場合、次のようなコードを記述します。
Private Sub CommandButton1_Click()' VBA処理を実行MsgBox "処理が実行されました!"Unload Me ' フォームを閉じるEnd Sub
ボタンをクリックしてフォームを表示する
シート上のボタンをクリックした時にフォームを表示させるためには、ボタンのマクロにフォームを表示するコードを追加します。マクロに以下のコードを追加します。
Sub ShowForm()UserForm1.ShowEnd Subこれで、ボタンがクリックされると、作成したフォームが表示されます。フォーム内のOKボタンをクリックすると、フォームに設定したVBAコードが実行されます。
デザインモードでの設定について
質問者が言及した「デザインモード」についてですが、これはフォームやコントロールをデザインするためのモードで、実際にボタンをクリックして動作を確認するためには、デザインモードを解除する必要があります。デザインモードを解除するには、開発タブの「デザインモード」のボタンをオフにしてください。
まとめ
Excel VBAを使って、シート上のボタンをクリックし、フォームを表示して、フォーム内のOKボタンでVBAを実行する方法は、ボタン作成、フォーム設定、マクロ作成を組み合わせることで実現できます。デザインモードを適切に使いこなし、フォームとボタンに正しいVBAコードを設定すれば、ユーザーインターフェースが一層便利になります。


コメント