• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ユーザーフォームを表示されないようにしたい)

ユーザーフォームを非表示にしたい!Vista excel2007でマクロ作成中の初心者の質問

このQ&Aのポイント
  • Vista excel2007でマクロ作成中の初心者です。A、B、Cのブックがあります。Bブックのみマクロをワークシートに貼り付けています。
  • AブックのAコマンドボタンを押すとBブックのBシートにジャンプし、Bユーザーフォームを表示しています。
  • Bシートには、フォームコントロールを貼り付け、クリックするとCブックCシートに飛びます。CシートにはBユーザーフォームが残ったままで、非表示にしたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • yk3291
  • ベストアンサー率66% (2/3)
回答No.2

そういう事でしたか…。 すいません。違うブックのオブジェクトの操作は僕には分かり ません。 提案なのですが、ユーザーフォームの表示の記述はAのブックの モジュールでは無く、Bのシートのモジュールに記述したら いかがでしょうか? BのブックのWorkbookのモジュールに以下の2つを記述します。 Private Sub Workbook_Activate() UserFormB.Show vbModeless End Sub Private Sub Workbook_Deactivate() Unload UserFormB End Sub ブックCがアクティブになっている時以外はフォームが 消えます。

aitaine
質問者

お礼

2泊3日の旅行にでかけ返事がおくれましたこと。お詫びします。 あなた様のアドバイスで何とかできるようになりました。ありがとうございました。

その他の回答 (1)

  • yk3291
  • ベストアンサー率66% (2/3)
回答No.1

変数の宣言の後にunload UserFormBといれておけば いいんじゃないでしょうか? ※UserFormBの部分は実際に設定しているオブジェクト名を 入れて下さい。 違っていたらごめんなさい。

aitaine
質問者

補足

今実行しましたら、実行時エラー424 オブジェクトが必要ですと表示されました。 表示したくないフォームは、Aブックにモジュールと一緒に入っています。そのためこういうエラーが出るのでしょうか?