スポンサーリンク

ユーザーフォームを作る

理学療法士が覚えるExcel VBA
スポンサーリンク
スポンサーリンク
スポンサーリンク

ユーザーフォームとは

ユーザーフォームは自身でカスタマイズできるフォームです
文字を日本語にしただけの説明ですね、、、

実際に私が作成したユーザーフォームをご紹介します

リハビリ計画書の入力フォームと利用者データベースの検索フォームです

このような入力や検索を行うフォームを自作できます。

ユーザーフォームの作成

Visual Basic Editor を開き
挿入→ユーザーフォームの順でクリックします。

UserForm1が挿入されました。

使用例

ユーザーフォームを呼び出す

ユーザーフォームを呼び出すコードは

上記で作成したユーザーフォームの名前は”UserForm1″なので
UserForm1.show
これで、作成したユーザーフォームを呼び出せます。

※ユーザーフォームを表示している時にシート操作は出来ません
(ユーザーフォーム以外の操作が出来ません)

ユーザーフォームとシートの両方を操作したい場合は

ユーザーフォームをモードレスに表示し、ユーザーフォームとシートを両方操作できます。
シートをスクロールしたり、別のExcelファイルを見ながら操作する場合はモードレス表示にしましょう。

ユーザーフォームを呼び出す場面はいくつか考えられますが、私は主に次の2種類を使用します。

①コマンドボタンを押したとき

一番使用するのはコマンドボタンを押したときでしょうか?

まずは、標準モジュールに先述のユーザーフォームを呼び出すコードを記載します。

次に、コマンドボタンを挿入してマクロを登録します。

マクロが登録されたボタンが挿入され、ボタンを押すことでユーザーフォームを呼び出すことが出来ます。

②Excelファイルを開いたとき

次によく使用する方法が
Excelファイルを開くとユーザーフォームも表示されている状態でしょうか

ファイルが開かれた際に作動するマクロはworkbookのイベントモジュールにコードを記載します。

先ほど、すでにユーザーフォームを呼び出すコードを標準モジュールに記載しているため、Callステートメントでプロシージャを呼び出しています。

シートから情報を取得し、ユーザーフォームに表示

セル(A1・A2・A3)に入力された文字列を取得して
ユーザーフォームに表示させます。

コードはこちら

コードを記載する前にテキストボックスを準備します

ツールボックスのテキストボックスから挿入できます
ツールボックスが見当たらなければ、表示からツールボックスを呼び出せます

コードを記載する場所は

コードの表示または、ユーザーフォームをダブルクリックすることで、コードの置き場所が表示されます

ユーザーフォームに入力した情報をシートに挿入

準備として、ユーザーフォームにコマンドボタンを設置します

では、ユーザーフォームを起動して、セル(A1・A2・A3)を編集してみます

文字が置き換わりました

コードはこちら

記載する場所は先述の”UserForm_Initialize”と同じ場所です

まとめ

ユーザーフォームを活用すると、業務の効率化が図れたり、入力ミスを減らすこともできます。

何よりも、お金を払って使用させて頂くPCソフトのようなかっこいいフォームを無料で!作ることが出来ます!(技量と時間によりますが、、、)

ユーザーフォームの活用方法は無限大です!!

ぜひ参考にしてみてください。

コメント

タイトルとURLをコピーしました