添加连续编号VBA的工作表

时间:2017-02-21 12:28:02

标签: excel vba excel-vba

我有一个简单的宏,它将工作表添加到工作簿中。但是,有时我必须删除一些表格。当我删除工作表并再次使用宏时,新添加的工作表将采用后面的编号,就像删除的工作表存在时一样。我希望宏添加一个包含下一个数字的工作表。例如,我有:

Sheet1 Sheet2 Sheet3

然后我删除Sheet3并想要添加另一张,完全是Sheet3而不是Sheet4

With ThisWorkbook

    .Sheets.add After:=.Sheets(.Sheets.Count)

End With

我该怎么做?

1 个答案:

答案 0 :(得分:2)

在工作簿中添加此代码: enter image description here

Option Explicit

Private Sub Workbook_NewSheet(ByVal Sh As Object)

    On Error GoTo Workbook_NewSheet_Error

    Sh.Name = "Sheet" & Sheets.Count

    On Error GoTo 0
    Exit Sub

Workbook_NewSheet_Error:

    MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure Workbook_NewSheet of VBA Document DieseArbeitsmappe"

End Sub

差不多,如果您有以下工作表Sheet1Sheet2Sheet4,并且您添加了新工作表,则会收到错误,因为工作表的名称已被删除(Sheet4)。这就是我添加错误处理程序的原因。