Written by Allen Wyatt (last updated May 13, 2023)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, Excel in Microsoft 365, and 2021
Peter developed a macro that deletes all the worksheets in a workbook except for one named "Index." This macro works fine. However, after running the macro, if he adds a new worksheet he expects it to be named "Sheet1" as the default, but it is actually named a later number, such as "Sheet3" or "Sheet4." Peter wonders what is required to reset the sheet numbering to the expected default.
The easiest way to reset the sheet numbering is to simply close the workbook and open it again. That, however, involves a manual step on your part. If you are adding the new worksheets via macro, then you probably don't want to manually close and re-open the workbook.
You could, if desired, create a simple macro to do the close and re-open process. This will work as long as the macro is stored in your Personal Macro Workbook and not in the workbook you are closing.
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
The macro determines the name of the current workbook and then sets an OnTime event to open the workbook 1 second in the future. During that 1 second, however, the workbook is closed and saved, which allows it to be re-opened successfully.
You could, if desired, also choose to add your new worksheets via macro. The following short macro adds a worksheet and then immediately renames it to the desired name.
Sub AddWs() Worksheets.Add after:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = "Sheet" & Sheets.Count - 1 End Sub
You'll want to play with these solutions and find which one works best for your needs, particularly if you are wanting to integrate the solution with an already existing macro.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (6103) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, Excel in Microsoft 365, and 2021.
Save Time and Supercharge Excel! Automate virtually any routine task and save yourself hours, days, maybe even weeks. Then, learn how to make Excel do things you thought were simply impossible! Mastering advanced Excel macros has never been easier. Check out Excel 2010 VBA and Macros today!
When developing macros, you can create subroutines. This is a great way to reuse common code and make your programming ...
Discover MoreWhen creating macros, you'll often have a need to select different cells in the worksheet. Here's how to select the first ...
Discover MoreGot a workbook that has lots and lots of macros associated with it? Here's a way you can get a list of all of those ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)
Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2024 Sharon Parq Associates, Inc.
Comments