Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I have a workbook with one sheet, that I will call the "master sheet". It
contains all my data. I am selecting a row from this master sheet, opening a new sheet, and pasting my data from the master sheet to this new sheet. I then take the value of a cell in the new sheet and use that value for the sheet name. For example, a cell may contain the value '50'. So '50' becomes the sheet name. I use this code: Dim sheetName sheetName = ActiveCell.Value Sheets("Sheet1").Select Sheets("Sheet1").Name = sheetName This works. I then go back to the master sheet and select another row. What I want to do then is to go back to the sheet I just created by using the variable 'sheetName' (this name may change, that's why I want to use the variable). I tried using something like: Sheets 'sheetName'.Select or Sheets (sheetName).Select. But it errors out because of sheetName. When I mouse over sheetName in the macro it gives me the value of the new sheet. So I know it has the correct value in it. Is there a way of doing this? Thanks. |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
sheets(sheetname).Select
should work if sheetname is a variable that contains the name of a sheet in the activeworkbook. Here is a demonstration from the immediate window: sheetname = "Sheet2" ? activesheet.Name Sheet1 (2) sheets(sheetname).Select ?Activesheet.Name Sheet2 -- Regards, Tom Ogilvy "tedd13" wrote: I have a workbook with one sheet, that I will call the "master sheet". It contains all my data. I am selecting a row from this master sheet, opening a new sheet, and pasting my data from the master sheet to this new sheet. I then take the value of a cell in the new sheet and use that value for the sheet name. For example, a cell may contain the value '50'. So '50' becomes the sheet name. I use this code: Dim sheetName sheetName = ActiveCell.Value Sheets("Sheet1").Select Sheets("Sheet1").Name = sheetName This works. I then go back to the master sheet and select another row. What I want to do then is to go back to the sheet I just created by using the variable 'sheetName' (this name may change, that's why I want to use the variable). I tried using something like: Sheets 'sheetName'.Select or Sheets (sheetName).Select. But it errors out because of sheetName. When I mouse over sheetName in the macro it gives me the value of the new sheet. So I know it has the correct value in it. Is there a way of doing this? Thanks. |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
a7n9 raises a good point. sheetname should be typed as string.
Sub efg() Dim sheetname As String sheetname = 50 Sheets(sheetname).Select End Sub works fine, but if you made sheetname a variant either by declaration or by not declaring it at all (variant is the default), then it would contain the number 50 and look for the 50th sheet in the sheet tab - which would raise an error. -- Regards, Tom Ogilvy "Tom Ogilvy" wrote: sheets(sheetname).Select should work if sheetname is a variable that contains the name of a sheet in the activeworkbook. Here is a demonstration from the immediate window: sheetname = "Sheet2" ? activesheet.Name Sheet1 (2) sheets(sheetname).Select ?Activesheet.Name Sheet2 -- Regards, Tom Ogilvy "tedd13" wrote: I have a workbook with one sheet, that I will call the "master sheet". It contains all my data. I am selecting a row from this master sheet, opening a new sheet, and pasting my data from the master sheet to this new sheet. I then take the value of a cell in the new sheet and use that value for the sheet name. For example, a cell may contain the value '50'. So '50' becomes the sheet name. I use this code: Dim sheetName sheetName = ActiveCell.Value Sheets("Sheet1").Select Sheets("Sheet1").Name = sheetName This works. I then go back to the master sheet and select another row. What I want to do then is to go back to the sheet I just created by using the variable 'sheetName' (this name may change, that's why I want to use the variable). I tried using something like: Sheets 'sheetName'.Select or Sheets (sheetName).Select. But it errors out because of sheetName. When I mouse over sheetName in the macro it gives me the value of the new sheet. So I know it has the correct value in it. Is there a way of doing this? Thanks. |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() Even though your sheetname variable has a number, it is not a number when you refer it. Try Dim sheetName sheetName = CStr(ActiveCell.Value) Sheets("Sheet1").Name = sheetName Also, you don't have to select a sheet to rename it, you can directly do it. -- a7n9 ------------------------------------------------------------------------ a7n9's Profile: http://www.excelforum.com/member.php...o&userid=32149 View this thread: http://www.excelforum.com/showthread...hreadid=562894 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Refering to a sheet in a cell | Excel Discussion (Misc queries) | |||
Refering to a sheet in a cell | Excel Discussion (Misc queries) | |||
REFERING TO CELL IN DIFFERENT SHEET | Excel Discussion (Misc queries) | |||
refering to previous sheet | Excel Discussion (Misc queries) | |||
Problem refering to Add-In sheet | Excel Programming |