ワークシートが非アクティブ化されたときにイベントをトリガーする(Microsoft Excel)
Johnは、ユーザーがワークシートを離れる前に、特定のアクション(追加された情報など)が実行されたことを確認する必要があります。彼は、WorksheetBeforeDeactivateなどの何らかのマクロイベントがあるかどうか疑問に思います。
この目的で使用できるイベントは実際には2つあります。 ThisWorkbookモジュールのSheetDeactivateイベントを使用して、ユーザーがワークブックにワークシートを残すたびにアクションをトリガーできます。
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object) MsgBox Prompt:="You just left sheet:" & Sh.Name End Sub
特定のワークシートを離れるときにのみアクションをトリガーする場合は、WorkSheetオブジェクトでDeactivateイベントを使用できます。
Private Sub Worksheet_Deactivate() ' sheet specific code goes here End Sub
ただし、どちらの場合でも、ユーザーが移動することを選択したワークシートは、イベントの完了後にアクティブなワークシートになることを知っておく必要があります。ユーザーをワークシートにとどまらせたい場合は、次のように、ユーザーをワークシートに戻す必要があります。
Private Sub Worksheet_Deactivate() ' sheet specific code goes here Sheets("Sheet1").Select End Sub
もちろん、これは、ユーザーに残しておくワークシートの名前がSheet1であることを前提としています。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(7730)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。