【Excel VBA】シートを作成した時に処理を実行する(NewSheet)

はじめに

今回は、シートを作成した時に処理を実行する方法をご紹介します。
プログラムを実行するには、処理を実行するトリガーが必要ですが、その一つとしてシートを作成した時に処理を実行する方法を解説します。

この記事を読むメリット
  • シートを作成した時に処理を実行する方法が分かります。
  • イベントを使用するための手順を画像付きで解説します。

基本情報

NewSheetイベント

シートを作成した時に処理を実行するには、Workbook_NewSheetイベント(以下「NewSheetイベント」という)を使用します。
NewSheetイベントは、ThisWorkbookモジュールに記載します。

構文

構文

Private Sub Workbook_NewSheet(ByVal Sh As Object)
…(ソースコードを入力)
End Sub

引数の「sh」には、新規作成されたWorksheetオブジェクトが渡されます。

イベントの記述方法

STEP
Workbookイベントを選択する

VBEより、「ThisWorkbook」>「Workbook」を選択する。

Workbookイベントの選択
Workbookイベントの選択
STEP
イベントを選択する

プルダウンより「NewSheet」を選択します。
その後、コード欄に「Workbook_NewSheet」イベントが記載されることを確認します。

NewSheetイベントの選択

サンプルコード

シートが作成された場合に シート名をA1セルに記載する

サンプルコード
Private Sub Workbook_NewSheet(ByVal Sh As Object)

    ' A1セルに シート名 を記載する
    Sh.Range("A1").Value = Sh.Name
End Sub

ツールのブック内に、テンプレート用のシートを非表示状態で用意しておき、新規シートを追加した場合にテンプレートの内容を反映させる等、フォーマットを整えるために有効です。

最後に

今回は、シートを作成した時に処理を実行する方法を解説しました。

本記事が皆さんのお力になれば幸いです!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

大手外資系コンサルティングファーム勤務。ExcelVBA歴は8年。金融関係のプロジェクトにて約100万レコードを処理するマクロの開発実績あり。ExcelVBAの基礎・応用情報を発信中。

コメント

コメントする

CAPTCHA