VBAを使えば、新しいシートを好きな位置に追加することができます。今回は、**「指定した位置にシートを追加する」**方法を具体例とあわせて解説します。
1. 基本の書き方
新しいシートを特定の位置に追加するには、Sheets.Add
メソッドのBefore
またはAfter
を使います。
Sheets.Add Before:=Sheets(位置) '指定位置の前
Sheets.Add After:=Sheets(位置)
'指定位置の後
2. コードの具体例
① 指定した位置の前にシートを追加する
たとえば、2番目のシートの前に新しいシートを追加したい場合は次のように記述します。
Sub 2番目の前にシート追加()
Sheets.Add Before:=Sheets(2)
End Sub
② 指定した位置の後ろにシートを追加する
3番目のシートの後ろに新しいシートを追加する場合は、次のようにします。
Sub 3番目の後ろにシート追加()
Sheets.Add After:=Sheets(3)
End Sub
3. シート名を指定して追加する例
シート名を使って、特定のシートの前後に追加することもできます。
Sub シート名を使って追加()
Sheets.Add Before:=Sheets("Sheet2")
End Sub
この例では、名前が「Sheet2」のシートの前に新しいシートが追加されます。
4. ポイント・注意点
- シートの位置は「左から順番」で数えます。
例:左から1番目 →Sheets(1)
、2番目 →Sheets(2)
Before
とAfter
の両方を同時に指定することはできません。- シート名を指定する場合は、正確な名前を入力しましょう。名前が間違っているとエラーになります。
5. まとめ
Sheets.Add Before:=Sheets(位置)
→ 指定位置の前に追加Sheets.Add After:=Sheets(位置)
→ 指定位置の後ろに追加- 位置は番号でもシート名でも指定できる
- シート管理を自動化したい場合に非常に便利
コメント