Excel VBA =尝试在可用工作表之后添加新工作表

问题描述 投票:0回答:1

大家好, 我是新来的,这里刚刚创建了一个帐户,我将成为该社区的活跃成员。我大约一个月前开始与VBA合作,所以我是新手。

问题: 我想在工作簿中可用的总页数之后添加一个工作表。我已经声明了一个变量,以便用户可以命名新的工作表,如果用户决定不命名它,则使用条件捕获错误。这是完整的代码块:

sheetName = InputBox("Enter new sheet name.")
        If sheetName = "" Then
             Sheets.Add After:=ActiveSheet    
             Else
                 Sheets.Add(After:=Sheets(Sheets(Sheets.Count).Name)).Name = sheetName
        End If 

以上代码有效,但是第三行在活动工作表之后添加新工作表。我想在工作簿中的总工作表数之后添加工作表。

我尝试重新定位

Sheets.Add After:= ActiveSheet

使用

Sheets.Add After:=Sheets(Sheets.Count).Name

我也尝试过工作表对象,但仍然无法正常工作。任何帮助将被申请。谢谢

excel-vba
1个回答
0
投票

[使用.Add After:=时,您必须指定要添加的工作表对象,而不是名称。因此使用:

Worksheets.Add After:=Worksheets(Worksheets.Count)

每次调用时,这都会在最后一个位置添加一个新的工作表。

© www.soinside.com 2019 - 2024. All rights reserved.