- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ユーザーフォームを表示されないようにしたい)
ユーザーフォームを非表示にしたい!Vista excel2007でマクロ作成中の初心者の質問
このQ&Aのポイント
- Vista excel2007でマクロ作成中の初心者です。A、B、Cのブックがあります。Bブックのみマクロをワークシートに貼り付けています。
- AブックのAコマンドボタンを押すとBブックのBシートにジャンプし、Bユーザーフォームを表示しています。
- Bシートには、フォームコントロールを貼り付け、クリックするとCブックCシートに飛びます。CシートにはBユーザーフォームが残ったままで、非表示にしたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
そういう事でしたか…。 すいません。違うブックのオブジェクトの操作は僕には分かり ません。 提案なのですが、ユーザーフォームの表示の記述はAのブックの モジュールでは無く、Bのシートのモジュールに記述したら いかがでしょうか? BのブックのWorkbookのモジュールに以下の2つを記述します。 Private Sub Workbook_Activate() UserFormB.Show vbModeless End Sub Private Sub Workbook_Deactivate() Unload UserFormB End Sub ブックCがアクティブになっている時以外はフォームが 消えます。
その他の回答 (1)
- yk3291
- ベストアンサー率66% (2/3)
回答No.1
変数の宣言の後にunload UserFormBといれておけば いいんじゃないでしょうか? ※UserFormBの部分は実際に設定しているオブジェクト名を 入れて下さい。 違っていたらごめんなさい。
質問者
補足
今実行しましたら、実行時エラー424 オブジェクトが必要ですと表示されました。 表示したくないフォームは、Aブックにモジュールと一緒に入っています。そのためこういうエラーが出るのでしょうか?
お礼
2泊3日の旅行にでかけ返事がおくれましたこと。お詫びします。 あなた様のアドバイスで何とかできるようになりました。ありがとうございました。