Can a cell value be set equal to a spreadsheet name

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I am attempting to set a cell in a spreadsheet equal to a title of another
worksheet. Is this possible to do?
 
Yes and no? This is almost one of those "you have to know the answer before
we will tell you the answer" type of things.
A formula that will give you the sheet name of a sheet in the workbook is
this one (entered into a cell on 'Sheet1' and pointed to a cell in another
sheet in the workbook [Sheet3])

=MID(CELL("address",Sheet3!A1),FIND("]",CELL("address",Sheet3!A1))+1,FIND("!",CELL("address",Sheet3!A1))-FIND("]",CELL("address",Sheet3!A1))-1)

If you'll put this formula into another cell on Sheet1 you will see the need
for the FIND() functions in it:
=CELL("address",Sheet3!A1)

So you have to know the name of the other sheet before you can ask for the
name of that other sheet. But if the name of the other sheet is changed
later, the formula will show the new name.

Another way to do this is using VB code to work through the list of sheets
in the workbook and put their names into cells in a particular workbook:

Sub ListSheetNames()
Dim anySheet As Worksheet

Worksheets("Sheet1").Select
Range("A1").Select
For Each anySheet In Worksheets
ActiveCell = anySheet.Name
ActiveCell.Offset(1, 0).Activate
Next
End Sub
 
Thank you, it work like a charm.
Exactly what I needed.

JLatham said:
Yes and no? This is almost one of those "you have to know the answer before
we will tell you the answer" type of things.
A formula that will give you the sheet name of a sheet in the workbook is
this one (entered into a cell on 'Sheet1' and pointed to a cell in another
sheet in the workbook [Sheet3])

=MID(CELL("address",Sheet3!A1),FIND("]",CELL("address",Sheet3!A1))+1,FIND("!",CELL("address",Sheet3!A1))-FIND("]",CELL("address",Sheet3!A1))-1)

If you'll put this formula into another cell on Sheet1 you will see the need
for the FIND() functions in it:
=CELL("address",Sheet3!A1)

So you have to know the name of the other sheet before you can ask for the
name of that other sheet. But if the name of the other sheet is changed
later, the formula will show the new name.

Another way to do this is using VB code to work through the list of sheets
in the workbook and put their names into cells in a particular workbook:

Sub ListSheetNames()
Dim anySheet As Worksheet

Worksheets("Sheet1").Select
Range("A1").Select
For Each anySheet In Worksheets
ActiveCell = anySheet.Name
ActiveCell.Offset(1, 0).Activate
Next
End Sub



amp4cats said:
I am attempting to set a cell in a spreadsheet equal to a title of another
worksheet. Is this possible to do?
 
When attempting your solution, I received a #VALUE! error

JLatham said:
Yes and no? This is almost one of those "you have to know the answer before
we will tell you the answer" type of things.
A formula that will give you the sheet name of a sheet in the workbook is
this one (entered into a cell on 'Sheet1' and pointed to a cell in another
sheet in the workbook [Sheet3])

=MID(CELL("address",Sheet3!A1),FIND("]",CELL("address",Sheet3!A1))+1,FIND("!",CELL("address",Sheet3!A1))-FIND("]",CELL("address",Sheet3!A1))-1)

If you'll put this formula into another cell on Sheet1 you will see the need
for the FIND() functions in it:
=CELL("address",Sheet3!A1)

So you have to know the name of the other sheet before you can ask for the
name of that other sheet. But if the name of the other sheet is changed
later, the formula will show the new name.

Another way to do this is using VB code to work through the list of sheets
in the workbook and put their names into cells in a particular workbook:

Sub ListSheetNames()
Dim anySheet As Worksheet

Worksheets("Sheet1").Select
Range("A1").Select
For Each anySheet In Worksheets
ActiveCell = anySheet.Name
ActiveCell.Offset(1, 0).Activate
Next
End Sub



amp4cats said:
I am attempting to set a cell in a spreadsheet equal to a title of another
worksheet. Is this possible to do?
 
I'm a bit confused - you said it worked, then it didn't work? Or were you
responding to David's post when you said it didn't work?
Which worked? Which failed?


amp4cats said:
When attempting your solution, I received a #VALUE! error

JLatham said:
Yes and no? This is almost one of those "you have to know the answer before
we will tell you the answer" type of things.
A formula that will give you the sheet name of a sheet in the workbook is
this one (entered into a cell on 'Sheet1' and pointed to a cell in another
sheet in the workbook [Sheet3])

=MID(CELL("address",Sheet3!A1),FIND("]",CELL("address",Sheet3!A1))+1,FIND("!",CELL("address",Sheet3!A1))-FIND("]",CELL("address",Sheet3!A1))-1)

If you'll put this formula into another cell on Sheet1 you will see the need
for the FIND() functions in it:
=CELL("address",Sheet3!A1)

So you have to know the name of the other sheet before you can ask for the
name of that other sheet. But if the name of the other sheet is changed
later, the formula will show the new name.

Another way to do this is using VB code to work through the list of sheets
in the workbook and put their names into cells in a particular workbook:

Sub ListSheetNames()
Dim anySheet As Worksheet

Worksheets("Sheet1").Select
Range("A1").Select
For Each anySheet In Worksheets
ActiveCell = anySheet.Name
ActiveCell.Offset(1, 0).Activate
Next
End Sub



amp4cats said:
I am attempting to set a cell in a spreadsheet equal to a title of another
worksheet. Is this possible to do?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top