VBA workbook.Worksheets.Add 如果已經有存在名稱
时间: 2024-11-22 18:41:08 浏览: 0
工作簿(Workbook)基本操作应用示例
当你使用 VBA (Visual Basic for Applications) 的 `Worksheets.Add` 方法时,如果你试图在一个已经存在的工作簿中添加一个新的工作表,并且这个新的工作表已经有相同的名称,那么默认情况下,VBA 不会创建重复的工作表,而是返回当前活动的工作表(如果有的话),或者继续从下标为 1 开始查找下一个可用的名字。
例如,假设你有一个名为 "Sheet1" 的工作表,然后再次尝试添加名为 "Sheet1" 的新工作表,VBA 将不会执行添加操作,而只是显示或设置 "Sheet1" 为活动状态。
如果你想确保每次添加的新工作表都有唯一的名称,你可以提供一个自定义的名称或者使用 `Worksheets.Count` 属性获取当前工作簿中的工作表数,再加上一个前缀或后缀,如:
```vba
' 从现有工作表名称中添加 _1 或者其他的编号
Dim newSheetName As String
newSheetName = ActiveWorkbook.Sheets("Sheet1").Name & "_2"
' 添加新的工作表并给定名称
ActiveSheet.Worksheets.Add(After:=Sheets(Sheets.Count), Name:=newSheetName)
```
这里,我们创建了一个新的名称 "Sheet1_2",并且指定了新工作表插入到现有 "Sheet1" 后面。
阅读全文