Vba を使用して excel に新しいシートを追加する方法
VBA で次のメソッドを使用して、Excel ワークブックに新しいシートを追加できます。
方法 1: 新しいシートを追加する
Sub AddSheetToWorkbook()
Sheets.Add
End Sub
このマクロは、ワークブック内で表されるシート番号を説明する自動生成された名前を付けて、新しいシートをワークブックに追加します。
たとえば、ワークブックに 3 つのシートがあり、このマクロを実行すると、 Sheet4という名前の新しいシートが作成されます。
注: デフォルトでは、VBA は現在アクティブなシートの直前に新しいシートを追加します。
方法 2: 複数の新しいシートを追加する
Sub AddSheetToWorkbook()
Sheets.Add Count:=3
End Sub
このマクロは、ワークブックに 3 つの新しいシートを追加します。
方法 3: 名前を付けて新しいシートを追加する
Sub AddSheetToWorkbook()
Sheets.Add.Name = " MyNewSheet "
End Sub
このマクロは、 MyNewSheetという名前の新しいシートをブックに追加します。
方法 4: 特定のシートの前に名前を付けて新しいシートを追加する
Sub AddSheetToWorkbook()
Sheets.Add(Before:=Sheets(" Teams ")).Name = " MyNewSheet "
End Sub
このマクロは、ブックの Teamsという既存のシートの直前に、 MyNewSheetという名前の新しいシートを追加します。
方法 5: 特定のシートの後に名前を付けて新しいシートを追加する
Sub AddSheetToWorkbook()
Sheets.Add(After:=Sheets(" Teams ")).Name = " MyNewSheet "
End Sub
このマクロは、ワークブックのTeamsという既存のシートの直後に、 MyNewSheetという名前の新しいシートを追加します。
方法 6: ブックの最後に名前を付けた新しいシートを追加する
Sub AddSheetToWorkbook()
Sheets.Add(After:=Sheets(Sheets.Count)).Name = " MyNewSheet "
End Sub
このマクロは、ワークブックの最後にMyNewSheetという名前の新しいシートをワークブックに追加します。
方法 7: ブックの先頭に名前を付けた新しいシートを追加する
Sub AddSheetToWorkbook()
Sheets.Add(Before:=Sheets(1)).Name = " MyNewSheet "
End Sub
このマクロは、ワークブックの先頭にMyNewSheetという名前の新しいシートをワークブックに追加します。
次の例は、3 つの既存のシートを含む次の Excel ブックで各メソッドを実際に使用する方法を示しています。
例 1: 新しいシートを追加する
次のマクロを作成して、自動生成された名前で新しいシートをワークブックに追加できます。
Sub AddSheetToWorkbook()
Sheets.Add
End Sub
このマクロを実行すると、マクロの実行時に選択したTeamsシートの直前に、 Sheet4という名前の新しいシートがブックに追加されます。
例 2: 複数の新しいシートを追加する
次のマクロを作成して、自動的に生成された名前を使用して 3 つの新しいシートをワークブックに追加できます。
Sub AddSheetToWorkbook()
Sheets.Add Count:=3
End Sub
このマクロを実行すると、マクロの実行時に選択したTeamsシートの直前に 3 つの新しいシートがブックに追加されます。
例 3: 名前を付けて新しいシートを追加する
次のマクロを作成して、特定の名前で新しいシートをワークブックに追加できます。
Sub AddSheetToWorkbook()
Sheets.Add.Name = " MyNewSheet "
End Sub
このマクロを実行すると、 MyNewSheetという名前の新しいシートが、マクロの実行時に選択したTeamsシートの直前にブックに追加されます。
例 4: 特定のシートの前に名前を付けて新しいシートを追加する
次のマクロを作成して、ワークブックの特定の既存シートの直前に新しいシートを追加できます。
Sub AddSheetToWorkbook()
Sheets.Add(Before:=Sheets(" Teams ")).Name = " MyNewSheet "
End Sub
このマクロを実行すると、 MyNewSheetという名前の新しいシートがブックのTeamsシートの直前に追加されます。
例 5: 特定のシートの後に名前を付けて新しいシートを追加する
次のマクロを作成して、ワークブックの特定の既存シートの直後に新しいシートを追加できます。
Sub AddSheetToWorkbook()
Sheets.Add(After:=Sheets(" Teams ")).Name = " MyNewSheet "
End Sub
このマクロを実行すると、 MyNewSheetという名前の新しいシートがワークブックのTeamsシートの直後に追加されます。
例 6: ワークブックの最後に名前を付けた新しいシートを追加します。
次のマクロを作成して、ブックの最後に新しいシートを追加できます。
Sub AddSheetToWorkbook()
Sheets.Add(After:=Sheets(Sheets.Count)).Name = " MyNewSheet "
End Sub
このマクロを実行すると、 MyNewSheetという名前の新しいシートがブックの最後に追加されます。
例 7: ワークブックの先頭に名前を付けた新しいシートを追加します。
次のマクロを作成して、ワークブックの先頭に新しいシートを追加できます。
Sub AddSheetToWorkbook()
Sheets.Add(Before:=Sheets(1)).Name = " MyNewSheet "
End Sub
このマクロを実行すると、 MyNewSheetという名前の新しいシートがブックの先頭に追加されます。
注: Sheets.Addメソッドの完全なドキュメントはここにあります。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBA: 最後に使用された行を見つける方法
VBA: 最後に使用された列を見つける方法
VBA: ワークブック内のシート数を数える方法