如何使用 vba 在 excel 中添加新工作表
您可以在 VBA 中使用以下方法将新工作表添加到 Excel 工作簿:
方法1:添加新工作表
Sub AddSheetToWorkbook()
Sheets.Add
End Sub
该宏将向工作簿添加一个新工作表,其名称自动生成,该名称描述了它在工作簿中代表的工作表编号。
例如,如果工作簿中有三个工作表并且您运行此宏,则会创建一个名为Sheet4的新工作表。
注意:默认情况下,VBA 会将新工作表添加到当前活动工作表之前。
方法2:添加多个新工作表
Sub AddSheetToWorkbook()
Sheets.Add Count:=3
End Sub
该宏将向工作簿添加三个新工作表。
方法 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的新工作表。
以下示例展示了如何在实践中通过以下具有三个现有工作表的 Excel 工作簿使用每种方法:
示例 1:添加新工作表
我们可以创建以下宏,以使用自动生成的名称将新工作表添加到工作簿中:
Sub AddSheetToWorkbook()
Sheets.Add
End Sub
当我们运行此宏时,一个名为Sheet4的新工作表将添加到工作簿中,位于我们在运行宏时选择的Teams工作表之前:
示例 2:添加多个新工作表
我们可以创建以下宏,将三个具有自动生成名称的新工作表添加到工作簿中:
Sub AddSheetToWorkbook()
Sheets.Add Count:=3
End Sub
当我们运行此宏时,三个新工作表将直接添加到工作簿中的Teams工作表之前,这是我们在运行宏时选择的:
示例 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 中执行其他常见任务: