[過去ログ] Excel VBA 質問スレ Part80 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
271
(2): 2023/12/13(水)14:05 ID:ZzGWLSGP(2/2)調 AAS
>>266
じゃあ、みんな大好きオフィスTANAKAさんのこれで
http://officetanaka.net/excel/vba/tips/tips103.htm
変数に入れとけば他のファイルには影響出ないんじゃないかな、と

>Book2をセル選択状態にして、Book1でUserForm1.ShowとやるとBook1側のユーザー
フォームが開く
これは、Book1で・・の時点で選択状態が移行しちゃってるんじゃないのか?

あと、このページの中ほどで説明してるけど
https://www.kurumico.com/excel-vba-userform-show-2/4065/
 >・実は、事前にメモリにロードされていないまま Showメソッドで UserForm を
 >表示する場合、自動的にメモリにロードされているんです。
ここがミソか
いくつもファイルを開いて作業することが多いケースなら、Show では無く Load を使えと
最後にちゃんとUnLoadするのも忘れずに
272
(1): 2023/12/13(水)15:19 ID:bFxo3E2h(3/4)調 AAS
皆さんありがとうございます
>>271
>選択状態が移行しちゃってるんじゃないの
 それはないと判断してます、というのは
Book1に下記コードをかいておき、Book2のセルB2とかを選択した状態で、VBエディタの三角ボタンで実行すると、同名のユーザーフォームのうちBook1側が表示されるが、セル(1,1)はBook2側が操作されるからです
Sub 試験用()
UserForm1.Show
Cells(1,1).Value=1
End Sub

>>269
VBAProjectの下にあることは分かりました
オブジェクトブラウザも見ましたし、VBAProject1. と打ち込んで、入力サジェストにUserFormが出てくることも確認しました

で、2つのブックのプロジェクトも同名のVBAProject1にして、先ほどのコードのshowの行を下記に変えて実行しても結果は同じでした
VBAProject1.UserForm1.Show

つまり、指定が無いとシートやセルはその時アクティブなものを操作するけど、ユーザーフォームは(サブプロシージャとかも?)プロジェクト内から選択されるので、別ブックが開いていて、偶然同名のものがあっても問題ない、ということですかね
273: 2023/12/13(水)15:24 ID:bFxo3E2h(4/4)調 AAS
>>271
xボタンで閉じても「メモリ上から削除」されるんですよね、もう一度落ち着いて読み返して見ますけど
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.045s