Looking for a way to put the name of your worksheet directly into a cell? Excel makes this easy through the use of the CELL function. If you include the following in a cell, Excel returns the full path of the workbook, along with the sheet name:
=CELL("filename")
For instance, if you entered this into a cell in the Sheet1 worksheet of the MyWB workbook, the information returned by Excel might be something like C:\My Documents\[MyWB.xls]Sheet1 (depending, of course, on the drive and directory in which the workbook is saved).
To return just the worksheet name from this value, you could use the following in your cell:
=MID(CELL("filename",A1),(FIND("]",CELL("filename",A1))+1),50)
This will work for any worksheet name up to 50 characters in length. (If you routinely use different lengths, simply change the value in the formula.) Continuing the earlier example, Excel would return Sheet1 as the result.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (11766) applies to Microsoft Excel 2007, 2010, 2013, and 2016. You can find a version of this tip for the older menu interface of Excel here: Returning a Worksheet Name.
Excel Smarts for Beginners! Featuring the friendly and trusted For Dummies style, this popular guide shows beginners how to get up and running with Excel while also helping more experienced users get comfortable with the newest features. Check out Excel 2013 For Dummies today!
Need to sort your worksheets so that they appear in an order determined by the value of a cell on each worksheet? Using a ...
Discover MoreWhen you add a new worksheet to a workbook, it receives a meaningful name such as "Sheet4" or "Sheet17." If you want to ...
Discover MoreExcel, by default, recalculates your worksheets as you make changes in those worksheets. If you want to limit the number ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2016-02-09 10:04:00
Maria
Micky, this worked just as I needed. Thank you very much. Thank you also, Chuck. I did try your suggestion as well, but it kept opening an explorer window.
Appreciate both your responses!!
Maria
2016-02-09 09:12:23
Michael (Micky) Avidan
@Maria,
Try to run the following macro:
Sub MakeSheetsList()
SC = Sheets.Count
Columns(1).Clear
For SH = 1 To SC
Cells(SH, 1) = Sheets(SH).Name
Next
End Sub
--------------------------
Michael (Micky) Avidan
“Microsoft® Answers" - Wiki author & Forums Moderator
“Microsoft®” MVP – Excel (2009-2016)
ISRAEL
2016-02-08 14:45:02
Chuck rese
Maria,
I use a simple solution to this problem. I use the formula shown, somewhere in the sheet whose name you want. Then in the second sheet, just enter a formula that references the cell in the first sheet that has the name in it.
For example:
in sheet1, cell A1
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,31)
in sheet2, cell A1
=Sheet1!$A$1
Not particularly elegant, but it works.
2016-02-08 10:00:51
Maria
Is there a way to use this to get the names of the other sheets in the same file? I am looking for a way to list all the sheet names in the first sheet (a summary type page). Thank you.
2016-02-08 07:16:29
allen
I tried using this in a subroutine but must be doing something wrong. Can you provide an example?
2016-02-07 10:49:08
Michael (Micky) Avidan
@Jim,
My answer to your question is simple - usually users are looking for the shortest(!) formula which provides the merchandise - such as:
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,31)
(Please note that a worksheet's name cannot exceed 31 characters).
--------------------------
Michael (Micky) Avidan
“Microsoft® Answers" - Wiki author & Forums Moderator
“Microsoft®” MVP – Excel (2009-2016)
ISRAEL
2016-02-06 11:01:57
Jim
@Allen - you'll always get a "#VALUE" error using a function that returns the file-path in a book that hasn't been saved - because until you save the file, there is no path (location on the disk) for excel to return.
2016-02-06 10:52:13
Jim
Why not use RIGHT instead of MID to return just the sheet name?
=RIGHT(CELL("filename"),LEN(CELL("filename"))-FIND("]",CELL("filename")))
This will return everything to the right of the "]", regardless of the length of the sheet-name.
2016-02-06 09:16:50
Allen Cody
This is a handy tip, and I'll try it in a VBA subroutine to see if it works.
I tried this in my personal.xlsb file (worksheet formula) and got a "value" error, also in a new, unsaved file "book1" with the same result. When I opened a saved *.xlsm file, it worked fine.
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 © 2021 Sharon Parq Associates, Inc.
Comments