Lounge For casual talk about things unrelated to General Motors. In other words, off-topic stuff. And anything else that does not fit Section Description.

Need help in Excel

Thread Tools
 
Old 10-27-2006, 06:43 PM
  #1  
Senior Member
Certified GM nut
Thread Starter
 
Technical Ted's Avatar
 
Join Date: Oct 2005
Location: Western New York
Posts: 1,942
Likes: 0
Received 0 Likes on 0 Posts
Technical Ted is on a distinguished road
Default Need help in Excel

I'm trying to write a macro & need to select data on different worksheets. The 10 worksheets have been named with the numbers 0-9. If I record a macro this is the line when worksheet 5 is manually selected.

Sheets("5").Select

What I want to do is use the value thats in cell B2 of the active worksheet to determine which worksheet is selected. Something like this.

Sheets(B2).Select

Anyone know the correct way to do this?
Old 10-27-2006, 06:47 PM
  #2  
Senior Member
Posts like a Camaro
 
1995BvSSE's Avatar
 
Join Date: Nov 2002
Posts: 1,109
Likes: 0
Received 0 Likes on 0 Posts
1995BvSSE is on a distinguished road
Default Re: Need help in Excel

Originally Posted by Technical Ted
I'm trying to write a macro & need to select data on different worksheets. The 10 worksheets have been named with the numbers 0-9. If I record a macro this is the line when worksheet 5 is manually selected.

Sheets("5").Select

What I want to do is use the value thats in cell B2 of the active worksheet to determine which worksheet is selected. Something like this.

Sheets(B2).Select

Anyone know the correct way to do this?
Sounds like you need to convert an integer to a string

This may help.

http://msdn.microsoft.com/library/de...6cfd0a3fe1.asp

EDIT: CStr looks to be the right function. So something like Sheets(CStr(B2)).Select should do it.
Old 10-27-2006, 07:36 PM
  #3  
Senior Member
Certified GM nut
Thread Starter
 
Technical Ted's Avatar
 
Join Date: Oct 2005
Location: Western New York
Posts: 1,942
Likes: 0
Received 0 Likes on 0 Posts
Technical Ted is on a distinguished road
Default

Sheets(CStr(B2)).Select - Didn't work
Sheets("B2").Select - Didn't work

Also tried Formatting cell B2 as Text & also as Number - didn't help.
It'* probably something very easy!
Old 10-27-2006, 07:52 PM
  #4  
Senior Member
Posts like a Camaro
 
1995BvSSE's Avatar
 
Join Date: Nov 2002
Posts: 1,109
Likes: 0
Received 0 Likes on 0 Posts
1995BvSSE is on a distinguished road
Default

Originally Posted by Technical Ted
Sheets(CStr(B2)).Select - Didn't work
Sheets("B2").Select - Didn't work

Also tried Formatting cell B2 as Text & also as Number - didn't help.
It'* probably something very easy!
Wouldn't expect the latter to work since you are treating B2 as a literal string.

As for why the first one didn't work... I'm not really sure. Might be a VB limitation.
Old 10-28-2006, 05:09 PM
  #5  
PopaDopaDo
True Car Nut
 
popatim's Avatar
 
Join Date: Jan 2005
Location: NY
Posts: 4,957
Likes: 0
Received 1 Like on 1 Post
popatim is on a distinguished road
Default

Are these sheets all in the same workbook?
Old 10-28-2006, 06:06 PM
  #6  
PopaDopaDo
True Car Nut
 
popatim's Avatar
 
Join Date: Jan 2005
Location: NY
Posts: 4,957
Likes: 0
Received 1 Like on 1 Post
popatim is on a distinguished road
Default

Not 100% sure what you're are trying to do.

in the macro its
Sheets("Sheet5").Select
Range("B2").Select

to select a cell. This will physicall select cell B2 on sheet 5 just as if you clicked on it with your mouse. it will not return a value which is what I think you want.

in a cell formula its: sheet5!B2
theres an exclaimation after the 5 in case its hard to read.
Old 10-28-2006, 06:55 PM
  #7  
Senior Member
Certified GM nut
Thread Starter
 
Technical Ted's Avatar
 
Join Date: Oct 2005
Location: Western New York
Posts: 1,942
Likes: 0
Received 0 Likes on 0 Posts
Technical Ted is on a distinguished road
Default

The sheets are all in the same Workbook.

The sheets have all been renamed. 'Sheet1' is now '1'. 'Sheet2' is now '2'. Etc.

I want to select the worksheet that is called out in cell B2 of the active worksheet. Confusing Eh? Examples:
If Cell B2 = 1 then I want to select sheet '1'.
If Cell B2 = 5 then I want to select sheet '5'.

Something like this.
Sheets("value of B2").Select
Old 10-29-2006, 08:58 AM
  #8  
Senior Member
True Car Nut
 
BLACK94SSEi's Avatar
 
Join Date: Feb 2006
Location: Melrose
Posts: 4,596
Likes: 0
Received 0 Likes on 0 Posts
BLACK94SSEi is on a distinguished road
Default

Wheres Boosty? He was telling me hes an Excel Pro.
Old 10-29-2006, 09:02 PM
  #9  
Senior Member
Certified GM nut
Thread Starter
 
Technical Ted's Avatar
 
Join Date: Oct 2005
Location: Western New York
Posts: 1,942
Likes: 0
Received 0 Likes on 0 Posts
Technical Ted is on a distinguished road
Default

Here'* what I needed.

Dim x As String
x = Sheets("Main").Range("B2").Value
Sheets(x).Select

Someone at techsupportforums knew the answer. It took someone knowledgeable in Visual Basic more than Excel.

Thanks to everyone that gave it a shot.
Old 10-29-2006, 09:07 PM
  #10  
PopaDopaDo
True Car Nut
 
popatim's Avatar
 
Join Date: Jan 2005
Location: NY
Posts: 4,957
Likes: 0
Received 1 Like on 1 Post
popatim is on a distinguished road
Default

Heres the long way:

Sub macro1()
Set b2 = Range("B2")
If b2 = 1 Then Sheet1.Activate
If b2 = 2 Then Sheet2.Activate
If b2 = 3 Then Sheet3.Activate
End Sub


Quick Reply: Need help in Excel



All times are GMT -4. The time now is 03:41 AM.