【VBA】指定した位置にシートを追加する方法

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)
  • BeforeAfterの両方を同時に指定することはできません。
  • シート名を指定する場合は、正確な名前を入力しましょう。名前が間違っているとエラーになります。

5. まとめ

  • Sheets.Add Before:=Sheets(位置) → 指定位置のに追加
  • Sheets.Add After:=Sheets(位置) → 指定位置の後ろに追加
  • 位置は番号でもシート名でも指定できる
  • シート管理を自動化したい場合に非常に便利

コメント

タイトルとURLをコピーしました