データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ
こんにちは。
VBA に関するご質問ですと、VBA 専用のフォーラムがある開発者向けの<Msdnフォーラム>の方が情報が集まり易いと思います。
よろしければそちらにも投稿して情報を集めてみて下さいね。
※現在Msdnフォーラムは初回プロファイルを作成してから質問が出来るまで1日待つ制限がありますが、待機後に質問は可能となりますのでお待ちいただければと思います。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
activeworkbookは、最前面のworkbookと認識していますが
動きについての質問です
test.xlsm test1.xlsx test2.xlsx を用意して、マクロはtest.xlsmに入れています
test.xlsmには、userform1 userform2 userrorm3 があり
それぞれ、CommandButton1 と label1 があります
そして、userform1 をアクティブにします
-------userform1-----------------
Private Sub CommandButton1_Click()
' Workbooks.Open Filename:="C:\Users\admin\Desktop\複数のエクセルファイルの実験\test1.xlsx"
Load UserForm2
UserForm2.Show
End Sub
Private Sub UserForm_Initialize()
Workbooks.Open Filename:="C:\Users\admin\Desktop\複数のエクセルファイルの実験\test1.xlsx"
Label1.Caption = ActiveWorkbook.Name
End Sub
-------userform2-----------------
Private Sub CommandButton1_Click()
' Workbooks.Open Filename:="C:\Users\admin\Desktop\複数のエクセルファイルの実験\test2.xlsx"
Load UserForm2
UserForm2.Show
End Sub
Private Sub UserForm_Initialize()
Workbooks.Open Filename:="C:\Users\admin\Desktop\複数のエクセルファイルの実験\test2.xlsx"
Label1.Caption = ActiveWorkbook.Name
End Sub
userform1の Initialize のところで tes1.xlsx のファイルをopen してactiveworkbook になっているし
label1にactivewookbook.name を表示するとtest1.xlsx が表示されます
しかし、実際に最前面に表示されているのは、test.xlsm になっています
CommandButton1 をクリックしてuserform2 を表示させると
userform2でInitializeのところでtest2.xlsxをopenさせてactiveworkbookはtest2.xlsxになるのですが
ここで最前面に表示されるのはtest1.xlsxになります
結果として、activeworkbook.name で表示されるものと、実際に表示されているものが
1回分反映が遅れている
いろいろと実験してみました
上にあるように注釈文としてあるのですが、Initializeのところでopenするのではなく
CommandButton1 のクリックするところでopen した場合は、初めてopen するときと
2回目にopen したときの結果が違います
このactiveworkbook の返される値と実際の画面の結果に違いが発生するのは
何か解消する方法があるのでしょうか?
データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ
ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。