エクセルVBAでユーザーフォームを作成しています。 A.xlsmを開いて、別ブックのB.xlsxを開きます。 その後ユーザーフォームを起動すると、 B.xlsxに紐づいてしまい
エクセルVBAでユーザーフォームを作成しています。 A.xlsmを開いて、別ブックのB.xlsxを開きます。 その後ユーザーフォームを起動すると、 B.xlsxに紐づいてしまい B.xlsxを閉じたときに、A.xlsmのユーザーフォームも一緒に閉じてしまいます。 エクセルは常にダブルクリックで開いています。 後から開いたエクセルに紐づかないようにするにはどうしたらいいのでしょうか? エクセルのバージョンは、Microsoft 365 MSO(16.0.13801.21072)64bitです。 Modeless でユーザーフォームを開いています。
Excel | Visual Basic・89閲覧・250
ベストアンサー
マクロのない別ブックを閉じると、マクロブックで表示していたユーザーフォームも閉じる??? と信じられないような現象なので、ユーザーフォームのコードに Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) MsgBox "close" End Sub を埋め込んで、本当にユーザーフォームが閉じられたかどうか、確認してはどうでしょうか? 単に隠れているだけかもしれないし・・・。
ユーザーフォームをvbModelessで開いた後、ブックBを開いたら操作対象はBになってしまいます。 なんとなくそんなところが関係していそうな気がします。 ということで設計上の問題かも。
質問者からのお礼コメント
ブックBを開いたら操作対象はBになっていました。ありがとうございました。
お礼日時:5/22 19:16