|
▼ichinose さん:
早速の回答ありがとうございます。
試しにやって見ました。私の希望する動きのようです。
応用してみて、うまく解決できましたらあらためてお礼を申し上げます。
>ちょっと仕様を変更して
>
>「Book1.xls上のUserform1上にあるコマンドボタンをクリックすると Book2.xlsのUserform1 が起動するようにする」という例題で考えます。
>
>新規にBook1.Xls、Boo2.Xlsを作成します。
>
>Book1.Xls及び、Book2.Xlsは同じフォルダ上に保存することとします。
>
>Book1.Xlsには、ユーザーフォーム(Userform1)ひとつ作成してください。
> Userform1の構成
> テキストボックス(Textbox1)をひとつ配置
> コマンドボタン(Commnadbutton1)をひとつ配置
> ↑このボタンのクリックでBook2.XlsのUserform1を表示します
>
>Book1.XlsのThisWorkBookのモジュールに
>'===================================================
>Option Explicit
>Public bk2 As Workbook
>Sub main()
> Set bk2 = Workbooks.Open(ThisWorkbook.Path & "\book2.xls")
> UserForm1.Show vbModeless
>End Sub
>
>UserForm1のモジュールに
>'===============================================================
>Private Sub CommandButton1_Click()
> ThisWorkbook.bk2.get_frm.Show vbModeless
>End Sub
>
>
>'*************************************************************************
>
>Book2.Xlsには、ユーザーフォーム(Userform1)ひとつ作成してください。
> Userform1の構成
> テキストボックスをふたつ配置(Textbox1,Textbox2)
> ↑このテキストボックスに意味はありませんが、Book1.XlsのUserForm1と
> 区別するためにテキストボックスの数を変えました。
>
>
>Book2.XlsのThisWorkBookのモジュールに
>'====================================================================
>Function get_frm() As Object
> Set get_frm = UserForm1
>End Function
>
>
>これで準備完了です。
>
>一度、Book1.Xls、Book2.Xls共に閉じた後、
>Book1.Xlsのみを開いてください。
>
>Book1.XlsのThisWorkbook.mainを実行してください。
>
>Book2.Xlsを開いた後に
>Book1.XlsのUserform1が表示されます。
>
>Commandbutton1をクリックしてください
>Book2.XlsのUserform1が表示されます。
>(Book1.XlsのUseform1が隠れてしまいますが、
>Book2.XlsのUserfrom1をずらしてふたつのユーザーフォームが表示されていることを
>確認してみてください)
>
>
>これがうまくいくようなら、実際の対象となるブックに応用してください
|
|