大体でIT
大体でIT
Excel VBAでユーザーフォームを作成、削除、コピーする方法についてご紹介します。ユーザーフォームを使う上で作成、削除、コピーする方法は必要なスキルとなってきますのでご参考になるかと思います。
この記事ではユーザーフォームの作成、削除、コピーする方法についてご紹介します。
ユーザーフォームの作成はユーザーフォームを使う第一歩となりますので最初に必要な知識になります。
ユーザーフォームを作成してく中でいらなくなったユーザーフォームを削除するも出てくかと思いますのでこれからご紹介する削除手順が参考になるかと思います。
さらにユーザーフォームを作成してくと別ブックにユーザーフォームをコピーする必要がでてきたりします。
その際はご紹介するユーザーフォームをコピーする方法が使えますので参考になるかと思います。
- ユーザーフォームの作成
- ユーザーフォームの削除
- ユーザーフォームのコピー
Excel VBAでユーザーフォームを作成する方法についてご紹介します。
ワークシート上で『Alt + F11』を押します。
次のような画面が表示されます。これがVBE画面です。
VBE画面を開く
『開発』タブの『Visual Basic』からも同じようにVBE画面を開けます。
タブから開く方法
タブからもVBE画面が開けますが、ショートカットの『Alt + F11』の方が簡単で早いです。
VBE画面のタブから『挿入』の『ユーザーフォーム』を選択します。
ユーザーフォームの作成
ユーザーフォーム
ツールボックスからユーザーフォームへ他のフォームを挿入することができます。
VBE画面のタブから『表示』の『ツールボックス』を選択します。
ツールボックスの表示
ツールボックス
この中から好きなフォームを挿入していくことができます。
ツールボックスからユーザーフォームへフォームを作成することができます。
ツールボックスのラベルをクリックしてカーソルをユーザーフォームへ移動させます。
ラベルをクリックしてユーザーフォームへ移動
大きさを設定
ラベルが作成できる
他にもテキストボックスやコンボボックス、リストボックスなどさまざまなフォームがあります。
テキストボックス
コンボボックス
リストボックス
などツールボックスからいろいろなフォームが作成することができます。
これでユーザーフォームでVBAコードを作成する入口に立つことができました。
Excel VBAのユーザーフォームを削除する方法についてご紹介します。
ユーザーフォームは解放することで削除することができます。
VBA画面のプロジェクトウィンドから削除したいユーザーフォームを右クリックします。
削除したいユーザーフォームを右クリック
プロパティがでてきますのでその中から『UserForm1の解放』を選択します。
解放を選択
エクスポート有無の選択
このメッセージは解放する前にユーザーフォームをエクスポート、つまり別で保存するかを確認しています。
別で保存したい場合はエクスポートしたいので『はい』を、別で保存する必要がない場合は『いいえ』をクリックします。
どちらでもユーザーフォームを削除することができます。
ユーザーフォームを削除、つまり解放する際にエクスポートする場合についてご紹介します。
ユーザーフォームを解放する前にエクスポートしてみます。
ユーザーフォームを解放して出てきたメッセージで『はい』をクリックします。
エクスポートして解放を選択
エクスポートする場所を設定するダイアログがでてきます。
ダイアログが表示される
保存したいフォルダを選択してダイアログの『保存』をクリックするとユーザーフォームが削除されます。
ユーザーフォームが削除される
ダイアログで設定したフォルダには『UserForm1.frm』と『UserForm1.frx』というファイルが作成されます。
ユーザーフォームがエクスポートされる
ユーザーフォームがこれら2つのファイルに保存されたことになります。
ユーザーフォームを削除、つまり解放する際にエクスポートしない場合についてご紹介します。
ユーザーフォームを解放して出てきたメッセージで『いいえ』をクリックします。
エクスポートせずに削除を選択
ユーザーフォームは別で保存されずユーザーフォームが削除されます。
ユーザーフォームが削除される
Excel VBAでユーザーフォームをコピーする方法についてご紹介します。
ユーザーフォームのコピーはエクスポートしたファイルをインポートすることでできます。
VBE画面のプロジェクトウィンドウからエクスポートしたいユーザーフォームを右クリックします。
エクスポートするユーザーフォームを選択
プロパティが表示されるので『ファイルのエクスポート』を選択します。
エクスポートを選択
ファイルのエクスポート先を選択するダイアログが表示されます。
ダイアログでエクスポート先を決定
エクスポート先を選択して『保存』をクリックしてみます。
ユーザーフォームがエクスポートされる
ダイアログで設定したフォルダに『UserForm1.frm』と『UserForm1.frx』が作成されました。
これがユーザーフォームをエクスポートしたファイルになります。
続いてエクスポートしたファイルをコピーしたいエクセルファイルにインポートします。
マクロファイル『Book2.xlsm』というファイルにユーザーフォームをコピーしてみます。
まずはマクロファイルBook2.xlsmを開いてVBE画面を表示します。
別ブックのVBE画面を開く
VBE画面のプロジェクトウィンドウの中で右クリックします。
右クリックでプロパティを表示
プロジェクトウィンドウのプロパティが表示されます。
この中から『ファイルのインポート』をクリックします。
インポートを選択
インポートするファイルを設定するダイアログが表示されます。
ダイアログが表示される
先ほどエクスポートした『UserForm1.frm』を選択して『開く』をクリックします。
ダイアログでインポートするファイルを選択
マクロファイルBook2.xlsmのフォームの中に『UserForm1』というファイルがインポートされます。
ユーザーフォームのコピー完了
ユーザーフォーム『UserForm1』がインポートされました。
これでユーザーフォームをコピーすることができます。
この記事ではユーザーフォームの作成、削除、コピーする方法についてご紹介しました。
ユーザーフォームの作成はユーザーフォームを使う第一歩となりますので最初に必要な知識になります。
ユーザーフォームを作成してく中でいらなくなったユーザーフォームを削除するも出てくかと思いますので今回ご紹介した削除する手順が参考になるかと思います。
さらにユーザーフォームを作成してくと別ブックにユーザーフォームをコピーする必要がでてきたりします。
その際はユーザーフォームをコピーする方法が使えます。
参考になればと思います。最後までご覧くださいましてありがとうございました。