
No.2ベストアンサー
- 回答日時:
●コピーの方法をもう少し詳しく書くと、
(1)まずUserForm1(ユーザーフォームを挿入した時のデフォルトのオブジェクト名)は完成したフォームとします。
(2)UserForm1を選択して、フォーム上の何も無い所を右クリック、すべて選択。
(3)コントロールのある所にマウスを移動し、右クリック、コピー。
(4)次にユーザーフォームを挿入(UserForm2が挿入されたとします)
(5)UserForm2を選択して、フォーム上の何も無い所を右クリック、貼り付け。
これでできるように思いますが・・・(Excel2000、Excel97で確認)
●エクスポートの方法としては、
(1)まずプロジェクトエクスプローラを表示しておきます。
(2)プロパティウインドウも表示しておきます。(表示→プロパティウインドウ)
(3)プロジェクトエクスプローラでUserForm1を選択。
(4)右クリックし、ファイルのエクスポートを選択。
(5)どこかのフォルダに保存します。(UserForm1.frmで保存したとします)
(6)UserForm1のプロパティウインドウのオブジェクト名を例えばUserForm1aに変えます。
(7)プロジェクトエクスプローラで右クリックし、ファイルのインポートを選択。
(8)保存したUserForm1.frmを選択。開くボタンでインポートされます。
(9)プロパティウインドウで、インポートされたユーザーフォームのオブジェクト名を例えばUserForm1bに変えます。
以上で同じフォームが2つできたと思いますが・・・(これもExcel2000、Excel97で確認)
今度はうまくいきました。
まだまだ未熟者のため、きちんと操作できてませんでした。
わからない事が出てきたら、また質問させて下さい。
本当にありがとうございました。
No.1
- 回答日時:
>エクセルのVBでユーザーフォームをコピーしたいのですが。
『VBEのデザインモードでコピー』として書きます。(マクロを実行することによってフォームをコピーしたい?)
コピーするなら、新しいユーザーフォームを挿入しておき、元のフォームを選択し、何もないところで右クリック、『すべて選択』でコントロールをコピーし新しいフォームに貼り付ければ1回の処理で済みます。ControlSourceは当然、個別に設定しなおします。
または、
(1)プロジェクトエクスプローラでコピーしたいフォームを選択し、右クリックし『ファイルのエクスポート』
(2)再度右クリックし『ファイルのインポート』で元のフォームを選択
ではダメでしょうか。ただし、同一ブックに同一名のフォームを作ることになるので、一時的に元のフォームのオブジェクト名を変更して(2)を実行することになります。
Excel2000で確認済です。ご参考に。
さっそくのお答えありがとうございます。
『すべて選択』の方法を試してみたのですが、コピーはできましたが、
新しいユーザーフォームへ貼り付けできません。
なぜでしょうか?
『プロジェクトエクスプローラ』の方法は、ファイル選択画面が出てきた後、どうしたらいいかわかりません。
教えていただけますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【Excel VBA】ユーザフォームを同じブック内で複製できますか?
Visual Basic(VBA)
-
ExcelVBAで、ユーザーフォームを新規Bookにコピーしたい
IT・エンジニアリング
-
エクセルのユーザーフォームをコピーしたい。
Excel(エクセル)
-
-
4
VBAのテキストボックスに文字列を貼り付ける方法
Access(アクセス)
-
5
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
6
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
7
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
8
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
9
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
10
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
11
excelのInitializeイベントとActivateイベントについて
Excel(エクセル)
-
12
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
13
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
14
標準モジュール、フォームを別のブックにコピーするには?
Excel(エクセル)
-
15
コンボボックス内の文字サイズ変更
Excel(エクセル)
-
16
Excelのシート上のShapeにイベントは設定できる?
Excel(エクセル)
-
17
コマンドボタンのEnterイベント後に、フォーカスを移動したい。
その他(Microsoft Office)
-
18
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
19
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
20
ExcelVBA 図形をクリックした際のイベントを拾うには
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
クリックイベントなのに、2回ク...
-
Microsoft Formsの「個人情報や...
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
Form_Load と Form_Activate の...
-
ユーザーフォーム上に現在日時...
-
エクセルのチェックボックスの...
-
エクセルVBAのフォームを最...
-
子フォームでDB更新後、親フォ...
-
アクセス2002 VBA
-
パソコンの画面に合わせてユー...
-
【Excel VBA】ユーザフォームを...
-
孫フォームのラベルやボタンの...
-
VBAでユーザーフォームを再表示...
-
ユーザーフォームのラベルに時...
-
エクセルVBA フォーム上でOnkey...
-
ユーザーフォームのテキストボ...
-
ExcelVBAのユーザーフォームでe...
-
Excelにて、ユーザーフォームで...
-
フォームのテキストボックスな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Formsの「個人情報や...
-
ユーザーフォームを表示中にシ...
-
クリックイベントなのに、2回ク...
-
ExcelVBAのユーザーフォームの...
-
モーダルフォームとモードレス...
-
Form_Load と Form_Activate の...
-
Hideについて(.NET)
-
VBAでユーザーフォームを再表示...
-
ユーザーフォームのテキストボ...
-
Excelにて、ユーザーフォームで...
-
EXCEL VBA ユーザーフォームの...
-
エクセルVBAのフォームを最...
-
ユーザーフォームのラベルに時...
-
フォームウィンドウを最前面に...
-
テキストボックス入力データの...
-
ユーザーフォーム上に現在日時...
-
ACCESSのフォーム、開くんです...
-
'ユーザーフォーム右上隅の[×...
-
VBA(エクセル)のユーザー...
-
パソコンの画面に合わせてユー...
おすすめ情報