Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.worksheet.functions
Gizmo63
 
Posts: n/a
Default Selecting Multiple Sheets in VBA

Hi folks,

Is there a way of selecting a variable number of worksheets in VB so that I
can apply a simultaneous fix. I can't do the sheets 1 at a time as the fix
includes inserting some columns and the references will go screwy.
It is possible to do manually so should be possible in VB. The equivalent of
holding the control key and clicking on the tabs you want.

I would be looking at 'selecting' all the tabs between "START" and "END"
(these will have user defined names so cannot be specified in the macro) and
then 2 additional pre-defined tabs.

Any ideas anyone?

Giz
  #2   Report Post  
Posted to microsoft.public.excel.worksheet.functions
Pete_UK
 
Posts: n/a
Default Selecting Multiple Sheets in VBA

If you can do it manually, why can't you record a macro while you do
it? Then you will be able to see the syntax and should be able to merge
the recorded macro (or parts of it) into your other macro. You could
insert two sheets "first_temp" and "last_temp", position them at the
appropriate places, then make use of these. Once you have finished,
"first_temp" and "last_temp" could be deleted.

Hope this helps.

Pete

  #3   Report Post  
Posted to microsoft.public.excel.worksheet.functions
Jim Cone
 
Posts: n/a
Default Selecting Multiple Sheets in VBA

Sub JustTheOnesIWant()
'Selects all sheets between two designated sheets.
'Jim Cone - San Francisco, USA - May 2006
Dim objShts As Excel.Sheets
Dim varArry As Variant
Dim lngStart As Long
Dim lngEnd As Long
Dim N As Long

lngStart = Worksheets("SheetStart").Index
lngEnd = Worksheets("SheetFinish").Index
If lngEnd < lngStart Then
MsgBox "Please reorder sheets. "
Exit Sub
End If
ReDim varArry(lngStart To lngEnd)

For N = lngStart To lngEnd
varArry(N) = Worksheets(N).Name
Next

Set objShts = Sheets(varArry)
objShts.Select
Set objShts = Nothing
End Sub
------------
Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware


"Gizmo63"
wrote in message
Hi folks,

Is there a way of selecting a variable number of worksheets in VB so that I
can apply a simultaneous fix. I can't do the sheets 1 at a time as the fix
includes inserting some columns and the references will go screwy.
It is possible to do manually so should be possible in VB. The equivalent of
holding the control key and clicking on the tabs you want.

I would be looking at 'selecting' all the tabs between "START" and "END"
(these will have user defined names so cannot be specified in the macro) and
then 2 additional pre-defined tabs.
Any ideas anyone?
Giz
  #4   Report Post  
Posted to microsoft.public.excel.worksheet.functions
Gizmo63
 
Posts: n/a
Default Selecting Multiple Sheets in VBA

Hi Pete,

Won't work for this. The macro builds an array statement that picks up the
tab names as you click then and use the defined names in the macro.

There is no variabilty in it.

Giz

"Pete_UK" wrote:

If you can do it manually, why can't you record a macro while you do
it? Then you will be able to see the syntax and should be able to merge
the recorded macro (or parts of it) into your other macro. You could
insert two sheets "first_temp" and "last_temp", position them at the
appropriate places, then make use of these. Once you have finished,
"first_temp" and "last_temp" could be deleted.

Hope this helps.

Pete


  #5   Report Post  
Posted to microsoft.public.excel.worksheet.functions
Gizmo63
 
Posts: n/a
Default Selecting Multiple Sheets in VBA

Thanks Jim.

I was pretty close to the solution, heading on the right lines of cycling
and saving the names but didn't know the "objShts" stuff to make it work.
A few tweaks to bypass the tab indexes and sorted.

Cheers

Giz

"Jim Cone" wrote:

Sub JustTheOnesIWant()
'Selects all sheets between two designated sheets.
'Jim Cone - San Francisco, USA - May 2006
Dim objShts As Excel.Sheets
Dim varArry As Variant
Dim lngStart As Long
Dim lngEnd As Long
Dim N As Long

lngStart = Worksheets("SheetStart").Index
lngEnd = Worksheets("SheetFinish").Index
If lngEnd < lngStart Then
MsgBox "Please reorder sheets. "
Exit Sub
End If
ReDim varArry(lngStart To lngEnd)

For N = lngStart To lngEnd
varArry(N) = Worksheets(N).Name
Next

Set objShts = Sheets(varArry)
objShts.Select
Set objShts = Nothing
End Sub
------------
Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware


"Gizmo63"
wrote in message
Hi folks,

Is there a way of selecting a variable number of worksheets in VB so that I
can apply a simultaneous fix. I can't do the sheets 1 at a time as the fix
includes inserting some columns and the references will go screwy.
It is possible to do manually so should be possible in VB. The equivalent of
holding the control key and clicking on the tabs you want.

I would be looking at 'selecting' all the tabs between "START" and "END"
(these will have user defined names so cannot be specified in the macro) and
then 2 additional pre-defined tabs.
Any ideas anyone?
Giz

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
selecting multiple sheet tabs and open another workbook Bannor Excel Discussion (Misc queries) 5 November 25th 05 02:38 AM
Autofilter Lists across Multiple Sheets, Maintain Correct Referenc EDSTAFF Excel Worksheet Functions 0 November 14th 05 03:27 PM
Select Multiple sheets Steve Excel Discussion (Misc queries) 1 October 7th 05 06:14 PM
Calculations crossing multiple sheets Stephen McArthu Excel Discussion (Misc queries) 4 June 6th 05 04:35 PM
linking multiple sheets to a summary sheet greg g Excel Discussion (Misc queries) 1 December 16th 04 07:43 AM


All times are GMT +1. The time now is 01:00 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"