#1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,885
Default Sheet Name

Hi
better not to use a string but a worksheet object reference. something
like

dim wks as worksheet
dim cell as range
set wks = activesheet
set cell = activecell
'...
'your code
'...
wks.activate
cell.select

BUT: In most cases there's no need to switch to the other worksheets
(with select/activate). You can use a worksheet reference like show
above. e.g. if you have a statement like
worksheets("sheet2").activate
Range("A1").select
selection.copy

you can use
with worksheets("sheet2").range("A1")
.copy
end with


--
Regards
Frank Kabel
Frankfurt, Germany


Jonathan Cooper wrote:
I'm trying to learn VBA for Excel. I've got a macro mostly hacked
together. There is one part I can't figure out though.

When the macro runs, I want to capture the active worksheet name and
store it in a variable. Then after the macro finishes, I want to go
back and select that sheet again. Seems like such a simple thing to
do but I can't figure out where the darn worksheet name is stored.

Also, since I'm just learning VBA, if you could tell me how I should
have been able to figure out where the name is stored, that would be
even better.


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 49
Default Sheet Name

OK, here's what I've done. I created a one-line function
named "SheetName" that I keep in Personal.xls because I can
never remember the code:
Function SheetName()
SheetName = Range("A1").Parent.Name
End Function
VERY handy function. I reference it in other macros with:
Dim SheetNm as String
SheetNm = SheetName
-----Original Message-----
Hi
better not to use a string but a worksheet object

reference. something
like

dim wks as worksheet
dim cell as range
set wks = activesheet
set cell = activecell
'...
'your code
'...
wks.activate
cell.select

BUT: In most cases there's no need to switch to the other

worksheets
(with select/activate). You can use a worksheet reference

like show
above. e.g. if you have a statement like
worksheets("sheet2").activate
Range("A1").select
selection.copy

you can use
with worksheets("sheet2").range("A1")
.copy
end with


--
Regards
Frank Kabel
Frankfurt, Germany


Jonathan Cooper wrote:
I'm trying to learn VBA for Excel. I've got a macro

mostly hacked
together. There is one part I can't figure out though.

When the macro runs, I want to capture the active

worksheet name and
store it in a variable. Then after the macro finishes,

I want to go
back and select that sheet again. Seems like such a

simple thing to
do but I can't figure out where the darn worksheet name

is stored.

Also, since I'm just learning VBA, if you could tell me

how I should
have been able to figure out where the name is stored,

that would be
even better.


.

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
excel sheet bootom half sheet goes behind top part of sheet rob Excel Worksheet Functions 2 January 17th 09 01:28 AM
Duplicate sheet, autonumber sheet, record data on another sheet des-sa[_2_] Excel Worksheet Functions 0 May 8th 08 06:56 PM
How do I select price from sheet.b where sheet.a part no = sheet.b Sonny Excel Worksheet Functions 4 April 4th 06 05:08 PM
relative sheet references ala sheet(-1)!B11 so I can copy a sheet. RonMc5 Excel Discussion (Misc queries) 9 February 3rd 05 12:51 AM
Inserting a row in sheet A should Insert a row in sheet B, removing a row in Sheet A should remove the corresponding row in sheet B Hannes Heckner Excel Programming 1 March 5th 04 09:10 AM


All times are GMT +1. The time now is 12:08 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"