UserForm はすべてのワークブックに存在します。これを停止するにはどうすればよいでしょうか?

UserForm はすべてのワークブックに存在します。これを停止するにはどうすればよいでしょうか?

同様のスレッドをいくつか読みましたが、何もわかりません。 2 つのワークブックを開いているのですが、UserForm を開いているワークブック以外のワークブックをクリックすると、UserForm が残ります。

UserForm が作成されたワークブックに必要な処理を実行するコードがあります。しかし、別のワークブックをクリックしても UserForm は画面に残ります。これを停止するにはどうすればよいでしょうか?

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    If Sh.Name <> "HTFD" And Flight_Deck.Visible = True Then
        Unload Flight_Deck
    End If
    If Sh.Name = "HTFD" And Flight_Deck.Visible = False Then
        Flight_Deck.Show vbModeless
    End If
End Sub

答え1

ユーザーフォームコードでは -

Private Sub UserForm_Deactivate()
    Unload.me
End Sub

フォーカスが失われるとアンロードされます。

関連情報