How do I reference next or previous sheet in a formula if the sheet number/name is a varible/variant.
I have seen ways to do this with vba, is there a way to do this wit
In Excel. Enter an equals sign "=" in any cell. This will put you into interactive mode.
Navigate to your other sheet and click the cell you want to reference. Then hit enter.
Go back to the previous sheet and edit the cell you started in and you should see the formula to use.
To reference the next/prevoius sheet (See example here). You'll need some VB code I think (something along the lines of):
Function PrevSheet(RCell As Range)
Dim xIndex As Long
Application.Volatile
xIndex = RCell.Worksheet.Index
If xIndex > 1 Then _
PrevSheet = Worksheets(xIndex - 1).Range(RCell.Address)
End Function
then use
=PrevSheet(A1)
Here is another way to list out all the sheet names with regular Excel formula:
Cell A1
: =CELL("filename",1:1048576)
Cell B1
: =MID(A1,FIND("[",A1)+1,FIND("]",A1)-FIND("[",A1)-1)
Go to Formula > Name Manager > New
, like the pic below, enter SheetNames
in the Name
field and the formula below in the Refers to
field:
=GET.WORKBOOK(1,Sheet29!$B$1)&T(NOW())
Please note that I setup this on Sheet29
. You should change that to the sheet you are using.
From cell A2
, fill out the formula below and drag down to list all the sheet names:
=INDEX(MID(SheetNames,FIND("]",SheetNames)+1,255),ROWS(A$1:A1))
In my example, I don't have Sheet28
and also the sheet name is sorted by the order from left to right. Move around and check the result.