Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
「モードレスでのExcel画面の非表示方法」の Arika.D さんへ
投稿日時: 18/02/02 00:59:59
投稿者: hatena
投稿者のウェブサイトに移動

最後に、下記の もこな2 さんのコードを引用して、解決にしていますが、
 
<標準モジュール>

Sub ユーザーフォーム表示()
    UserFormA.Show vbModeless
    UserFormB.Show vbModeless
    UserFormC.Show vbModeless
    Application.Visible = False
End Sub

<UserFormAのモジュール>
Private Sub 終了ボタン_Click()
    Application.Visible = True
    Unload UserFormC
    Unload UserFormB
    Unload Me
End Sub

 
このコードを採用したということでしょうか。
 
この場合、終了ボタンをクリックして終了した場合はいいですが、
タイトルバーの×ボタンのクリック、または、 Alt+F4 でUserFormAを閉じた場合、
Excelのウインドウは非表示のままとなり、アクセスできなくなり、まずいことになります。
 
私の回答のように、Terminateイベントで Application.Visible = True とするべきだと思います。
 
<UserFormAのモジュール>
Private Sub 終了ボタン_Click()
    Unload Me
End Sub

Private Sub UserForm_Terminate()
    Unload UserFormC
    Unload UserFormB
    Application.Visible = True
End Sub

投稿日時: 18/02/04 18:27:27
投稿者: hatena
投稿者のウェブサイトに移動

閉じます。