|
これはワークシートやグラフシート挿入後に実行されるイベントです。サンプルではダイアログボックスでシート名を問い合わせて、新しく挿入されたシート名を変更しています。キャンセル押下でシートを削除するようにしています。ワークブックモジュール内に以下のプロシージャを記述します。
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Dim strSheet
strSheet = Application.InputBox("シートの名前を入力してください" & vbCr & vbCr & _
"キャンセルでシートの挿入を取り消します")
Select Case strSheet
Case False
Application.DisplayAlerts = False
Sh.Delete
Application.DisplayAlerts = True
Case Else
Sh.Name = strSheet
End Select
End Sub
InputBox 関数はキャンセルの他に「0」の入力でも False を返しますので、シート名を「0」に指定した場合は削除されます。これを防ぐにはVBAの関数を利用せずにオリジナルのユーザーフォムを作る必要があります。 |