image

多くの場合、ブックが閉じる前に、事前定義された反復的な手順を実行する必要があります。たとえば、データベースへの接続を閉じる、ガベージデータを削除する、ブックを保護する、ブックを保存する、または単にユーザーに別れを告げるなどです。これは、 `link:/ events-in-vba-workbook-events-using-vba-in-microsoft-excel [Workbook Events ofExcel]`を使用して実行できます。

この記事では、ブックが最も簡単に閉じるときにマクロを実行する方法を学習します。 ===ワークブックが閉じたときにマクロを自動実行するワークブックが閉じたときにマクロを実行するには、ワークブックイベントWorkbook_BeforeCloseを使用します。このイベントの構文はこれです。

Private Sub Workbook_BeforeClose(Cancel As Boolean)

'Your Code here.

End Sub

ワークブックイベントに書き込むには、これを行います。

Alt + F11を使用してVBEを開きます。プロジェクトエクスプローラーで、コードを配置するブックを見つけます。次に、プロジェクトエクスプローラーでThisWorkbook *オブジェクトを見つけます。それをダブルクリックします。

image

これで、コーディング領域の上に2つのドロップダウンが表示されます。最初のものをクリックして、[ワークブック]を選択します。これで、ワークブックに関連する利用可能なすべてのイベントが右側のドロップダウンに表示されます。それをクリックして、BeforeCloseを選択します。これにより、コーディング領域に空のworkbook_BeforeCloseサブルーチンが書き込まれます。

ブックが閉じる前に実行するすべてのコードをここに記述する必要があります。このイベントでは、任意のモジュールで記述された他のサブルーチンを呼び出すだけで実行できます。このコードは、これら2行の間に記述されたものを実行するようにイベントをトリガーします。

例:

Workbook_BeforeCloseイベントを使用してユーザーを確認し、ブックが開いたときにユーザーに挨拶しましょう。

Private Sub Workbook_BeforeClose(Cancel As Boolean)

ThisWorkbook.Save

MsgBox "This Workbook is saved."

End Sub

このコードには何でも入れることができます。ワークブック内の任意のモジュールから任意のサブルーチンを呼び出すこともできます。ワークブックを保存して、コードを1回実行します。次に、ブックを閉じます。ブックが自動的に保存され、メッセージが表示されます。

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Call ShutDatabase ' calling subroutine that shuts down the source database

End Sub

そうそう、それだけです。これは、ブックが閉じたときにマクロを自動実行するこの簡単な方法です。私の執筆が十分に説明的であり、サイトがあなたに役立つことを願っています。これで問題が解決しない場合は、下のコメントセクションにクエリを書き込んでください。早急に返信させていただきます。

関連記事:

link:/ events-in-vba-workbook-events-using-vba-in-microsoft-excel [Microsoft ExcelでVBAを使用するブックイベント]:ここでは、特定のコードを実行するためにトリガーできるすべてのブックイベントを見つけることができます。特定のイベントについて。

link:/ Tips-using-worksheet-change-event-to-run-macro-when-any-change-is-made [ワークシート変更イベントを使用して変更が行われたときにマクロを実行する] |したがって、シートが更新されるたびにマクロを実行するには、VBAのワークシートイベントを使用します。

link:/ events-in-vba-run-macro-if-any-change-made-on-sheet-range [指定された範囲のシートに変更が加えられた場合はマクロを実行] |指定した範囲の値が変更されたときにマクロコードを実行するには、このVBAコードを使用します。指定された範囲で行われた変更を検出し、イベントを発生させます。

link:/ events-in-vba-simplest-vba-code-to-highlight-current-row-and-column-using [現在の行と列を強調表示する最も簡単なVBAコード] |この小さなVBAスニペットを使用して、シートの現在の行と列を強調表示します。

人気の記事:

link:/ keyboard-formula-shortcuts-50-excel-shortcuts-to-increase-your-productivity [生産性を高めるための50のExcelショートカット] |あなたの仕事をより速くしてください。これらの50のショートカットにより、Excelでの作業がさらに高速になります。

link:/ forms-and-functions-introduction-of-vlookup-function [ExcelのVLOOKUP関数] |これは、さまざまな範囲やシートから値を検索するために使用される、Excelの最も使用され人気のある関数の1つです。 link:/ Tips-countif-in-microsoft-excel [COUNTIF in Excel 2016] |この驚くべき関数を使用して、条件付きの値をカウントします。特定の値をカウントするためにデータをフィルタリングする必要はありません。

ダッシュボードを準備するには、Countif関数が不可欠です。

link:/ excel-formula-and-function-excel-sumif-function [ExcelでSUMIF関数を使用する方法] |これは、ダッシュボードのもう1つの重要な機能です。これは、特定の条件で値を合計するのに役立ちます。