エクセルで楽々校務

学校現場で使えるエクセルファイルや小技の紹介をしています。掘り出し物があるかもしれません。あと、今までの実践での疑問点もつぶやきます。

VBA:シート変更でユーザーフォームを閉じるマクロ

雨が降り続いています。連休もお家で過ごしてる方結構いらっしゃると思います。

さて、かゆいところに手が届くマクロです。

VBAのユーザーフォームは、intersectを使って、指定セルクリックで

フォームを展開できますが、シートを変えたときに閉じたい時があります。

でもなぜか、残ってしまう・・・。

こんなとき、VBAのThisWorkbook(クラスモジュール)内に

次のコードを書くとフォームを閉じることができます。

案外、ネットに出ていなかったので備忘録として書いておきます。

=================================================
'シート変更でユーザーフォームを閉じる処理(ThisWorkbookに記述)
Private Sub workbook_sheetactivate(ByVal sh As Object)

    If sh.Name Like "*" Then ’シート名が変わったら
        Unload UserForm1  '閉じたいユーザーフォーム名
         'Unload UserForm2
    End If
End Sub
'=================================================

 

では、また(^^)/