全く同じユーザーフォームをもう一つ作りたい場合、どうしたらよいでしょうか。
手動で作る場合、コピー元のユーザーフォームや配置している各コントロールの大きさや設定などを全く同じにしようと思うと結構な手間がかかります。
そんな場合は、ユーザーフォームをコピーして再利用しましょう。その方法について勉強しましょう。
ユーザーフォームをコピーして再利用する方法を勉強しておきましょう。
簡単そうに思えますが、注意しなければならないことがあるのでしっかり覚えておきましょう。
わかりました。よろしくお願いしますm(__)m
前回記事「標準コントロールのラベルでプログレスバーを表現する」はこちらです。
【この記事でわかることは】
・UserForm のコピーを作成する複数の方法
UserForm のコピーを作成する方法
前回の記事で使った UserForm を使って、実際にやっていきましょう。
UserForm1 に Frame1、Label1、Label2、CommandButton1 を配置しています。
VBE 内でコピー(ドラッグ&ドロップ)する
まずは、VBE(VBAのエディター)内でコピー(ドラッグ&ドロップ)する方法です。
VBE 内でコピーする動作(動画)
これはすごく簡単ですね(^^)/
エクスポート&インポートを利用する
次は、UserForm モジュールをエクスポートしてからインポートする方法です。
エクスポート&インポートの動作(動画)
続けて同じ UserFormモジュールをインポートした場合エラーとなる部分までの動作です。
以上2つの方法が一般的なユーザーフォームをコピーする方法です。
手動で UserForm のコピーを作成する
元ブックが無い場合やエクスポートファイルを提供できない場合には、フォーム自身と配置している各コントロールのプロパティー値を使って手動でコピーを作成する必要があります。
各プロパティー値を手動で把握するのは結構大変な作業なので、VBAを使って取得できるようにしたいと思いました。
まとめ(おわりに)
以上、「ユーザーフォーム」のコピーを作成する方法でした。
まとめと感想など
同じサイズや同じコントロールの配置としたい場合「ユーザーフォーム」のコピーを作成してから改変していくことは意外と多いのではないでしょうか。そんな時のために覚えておきましょうね。
UserFormモジュールも標準モジュールのように同一ファイル名でも番号付きでコピーできればいいんですけどね (^^) 手動でコピーをつくるのは面倒な作業ですね。
★★★ ブログランキング参加中! クリックしてね(^^)/ ★★★
【今後の記事について】
今回の記事はいかがだったでしょうか。皆さまのお役に立てたなら幸いです(^^;
「汎用でだれでも使えて活用できるように考えてる」というポリシーで、記事を継続して書いていきたいと思っています。どうぞよろしくお願いしますm(_ _)m
【検討中の今後の記事内容は・・・・】
・実務に役立つものを提供できるよう常に検討しています(^^ゞ
・その他雑記的に「プチネタなど」もいろいろ考えていきたいと思っています・・・・
・今後の記事にご期待ください(^^)/
過去記事のサンプルファイルをダウンロードできます
今回の記事にはサンプルファイルの登録はありません!
過去の記事で使用したサンプルファイルをダウンロードできるようにページを設置していますので、こちら(このリンク先)からご利用ください
「UserForm1.frm」(テキストファイル)イベントプロシージャなどのコードも、このファイルにテキスト形式で保存されています。
「UserForm1.frx」(バイナリファイル)この中にコントロールの位置などが記録されています。
インポートは、この二つのファイルを使用して行われます。二つ揃っていないとインポートできませんので注意しましょう!