如何使用 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 中执行其他常见任务:

VBA:如何查找最后使用的行
VBA:如何查找最后使用的列
VBA:如何计算工作簿中的工作表数量

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注