【问题标题】:VBA - Create a new worksheet and add a suffix if the worksheet name already existsVBA - 如果工作表名称已存在,则创建一个新工作表并添加后缀
【发布时间】:2021-07-07 07:00:42
【问题描述】:

我是 VBA 的新手。我想创建新的工作表并从主工作表的单元格(A1)命名。如果新工作表名称已在使用,我想在新工作表名称后添加后缀“(1)”。任何帮助都会很棒。

【问题讨论】:

  • Name(1)存在应该加什么后缀?

标签: vba naming worksheet


【解决方案1】:

我已经测试了以下内容,它似乎可以满足您的要求。后缀会根据您在工作簿中拥有的命名工作表的数量而逐渐增加。不过可能有更好的方法,而且我不是真正的 VBA 专家。

感谢我为您的问题改编的另一个答案:Excel VBA Trying to create a new worksheet

Sub addWorksheet()
Dim worksheetName As Variant
Dim i As Integer

i = 0

worksheetName = ActiveWorkbook.Worksheets("Sheet1").Range("A1").Value

For Each ws In ThisWorkbook.Worksheets

    worksheetExists = (InStr(1, ws.Name, worksheetName, vbTextCompare) = 1)
    
    If worksheetExists Then
        
        i = i + 1
        
    End If
    
Next ws

If i > 0 Then

    worksheetName = worksheetName & "(" & i & ")"
    
End If

With ThisWorkbook.Worksheets.Add
        .Name = worksheetName
End With
    
End Sub

【讨论】:

    猜你喜欢
    • 2020-07-18
    • 1970-01-01
    • 1970-01-01
    • 2019-08-05
    • 2019-02-11
    • 2018-04-08
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    相关资源
    最近更新 更多