エクセルVBAを使用しているシート上の特定の列のセルをクリックすると指定したユーザーフォームが表示されると便利だと思いませんか?
さらにA列のセルをクリックしたらフォーム1を表示、B列のセルをクリックしたらフォーム2を表示させる複数の場合もやりたいですよね。
SelectionChangeに書き込めば簡単にできますよ!
WorksheetのSelectionChangeに記述する
シート選択
VBA画面でセルをクリックしたらユーザーフォームを表示させたいシートを、Objectsから選択します。
オブジェクトの変更
シートを選んだらオブジェクト「General」の▼をクリックして「Worksheet」に変更します。
VBAコードを記載する
Worksheetを選択すると自動的にSelectionChangeに関するSubとEnd Subが記載されますので、この間の部分に「セルをクリックした場合にフォームが表示する」というVBAコードを書き込めば完成です。
VBAコード記述
ここでは、下記のような出納帳でフォームを表示させます。
- 出金額の「H」列のセルをクリックすると出金用のフォーム表示
- 入金額の「I」列のセルをクリックすると入金用のフォーム表示
とりっぷぼうる
このように、複雑ではなくシンプルなVBAコードを書くだけで、クリックしたらフォームが表示できるようになりました。