連続名の複数のワークシートを挿入する
月1〜月3の名前で3枚のシートを追加します。
実行前に確認
- 1 To 3を変更すると枚数を変更できます。同名シートがある場合は追加前に停止します。
1サンプルコード
Sub Sample3066()
Dim i As Long, ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
For i = 1 To 3
If ws.Name = "月" & i Then
MsgBox "月1〜月3が既にあります。": Exit Sub
End If
Next i
Next
For i = 1 To 3
Set ws = ThisWorkbook.Worksheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
ws.Name = "月" & i
Next
End Sub図で見る操作の流れ
イメージ図コードの動きを表した概念図です。実際のExcel画面ではありません。
マクロ:重複を先に確認
月1・月2・月3が既存ワークシート名にないか調べる
マクロ:3回追加
末尾へ追加して、月1 → 月2 → 月3と命名する
結果:3枚増える
既存シートの後ろに月1・月2・月3が並ぶ
いずれかの同名ワークシートがあれば追加前に停止します。グラフシートなどにも同名を使わないでください。
コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。
使い方・実行手順を確認する3つの手順で、コードの使い方を確認できます
- 1
練習用のブックをExcelマクロ有効ブック(.xlsm)で保存します。
- 2
Alt+F11でVBEを開き、[挿入]→[標準モジュール]にコードを貼り付けます。
- 3
Sample3066内にカーソルを置いてF5で実行します。月1〜月3の名前で3枚のシートを追加します。