Peter开发了一个宏,该宏将删除工作簿中所有工作表,但其中一个名为“索引”。这个宏工作正常。但是,在运行宏之后,如果他添加一个新工作表,则希望将其命名为“ Sheet1”作为默认值,但实际上它被命名为更高的数字,例如“ Sheet3”或“ Sheet4”。彼得想知道将工作表编号重设为期望的默认值需要什么。

重置工作表编号的最简单方法是简单地关闭工作簿,然后再次打开它。但是,那需要您手动进行。如果要通过宏添加新工作表,则可能不想手动关闭并重新打开工作簿。

如果需要,您可以创建一个简单的宏来执行关闭和重新打开过程。只要该宏存储在您的“个人宏工作簿”中,而不是您要关闭的工作簿中,它就会起作用。

Sub Reopen()

Dim wb As Excel.Workbook     Dim sPath As String

Set wb = ThisWorkbook     sPath = wb.FullName

Application.OnTime Now + TimeValue("00:00:01"), _       Application.Workbooks.Open(sPth)

wb.Close (True)

End Sub

宏确定当前工作簿的名称,然后设置一个OnTime事件以在将来1秒钟打开工作簿。但是,在那一秒钟内,工作簿将关闭并保存,从而可以成功地将其重新打开。

如果需要,您也可以选择通过宏添加新的工作表。

下面的简短宏将添加一个工作表,然后立即将其重命名为所需的名称。

Sub AddWs()

Worksheets.Add after:=Sheets(Sheets.Count)

Sheets(Sheets.Count).Name = "Sheet" & Sheets.Count - 1 End Sub

您将需要使用这些解决方案,并找到最适合您需求的解决方案,尤其是当您要将解决方案与现有的宏集成时。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(6103)适用于Microsoft Excel 2007、2010、2013和2016。