同様のスレッドをいくつか読みましたが、何もわかりません。 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
フォーカスが失われるとアンロードされます。