|
のん さん、こんにちわ。
>>Private Sub UserForm_Activate()
>> ThisWorkbook.Activate 'UserFormのあるブックがBook2.xls=>Thisworkbook
>>
>実はりんさんに教えていただいた方法も試してみて
>確かに上記方法はbook2上でform2を開いた場合はうまくいくのです。
>しかし、book1からbook2のform2を開くと・・・
今回の動作実験内容
Book1.xls,Book2.xlsをDドライブのルートに保存
■Book1.xlsの標準モジュールに以下を記述
Sub test()
Workbooks.Open Filename:="d:\book2.xls"
Windows("book1.xls").Visible = False
ActiveWorkbook.Windows("book2.xls").Activate
Application.Run "book2.xls!ThisWorkbook.Openform2"
End Sub
■Book2.xlsにUserForm1を追加して、以下を記述
Private Sub UserForm_Activate()
ThisWorkbook.Activate
End Sub
■Book2.xlsのThisworkbookに以下を記述
Sub Openform2()
UserForm1.Show
End Sub
あと、気になるのは、
ActiveWorkbook.Windows("book2").Activate ←これがエラーにならないのが不思議です
もしかして、エラートラップ(On Error〜) 入れてますか?
|
|