構文
Workbook_NewSheet(ByVal Sh As Object)
Sh・・・ 追加された新規ワークシートオブジェクト
新規ワークシートを作成時に実行されるイベントです。
Workbook_NewSheetイベントのサンプルコード
標準モジュールではなく、Workbookモジュール(Microsoft_Excel_Objects_ThisWorkbook)に記載します。
Private Sub Workbook_NewSheet(ByVal Sh As Object) MsgBox "ワークシート名" & Sh.Name & "が追加されました" End Sub
Workbook_NewSheetをよく使う形
業務日報を作成する際に、毎度新規シートを追加します。
その際に、当日日付のシート名に変更したい。
Private Sub Workbook_NewSheet(ByVal Sh As Object) '■既に当日ファイルを作成済みならシート削除(エラー回避) Dim ws As Worksheet For Each ws In Worksheets If ws.Name = Format(Date, "yyyymmdd") Then Application.DisplayAlerts = False Sh.Delete Application.DisplayAlerts = True Exit Sub End If Next ws '■シート名を当日日付にリネームする Sh.Name = Format(Date, "yyyymmdd") End Sub
発注書をエクセルで作成しています。毎度新規シートを追加します。
その際に、所定のフォーマットに揃えたい。
Private Sub Workbook_NewSheet(ByVal Sh As Object) '■コピー元のフォーマットシート(テンプレート) Dim ws As Worksheet Set ws = Worksheets("フォーマットシート") '■wsからSh(新規追加シート)に書式をコピペ ws.Cells.Copy Sh.Cells.PasteSpecial (xlPasteFormats) End Sub
コメント