Grouped Sheets - Windows Arrange

J

JMay

Is it be possible to Select a given number of Sheets (Group,
NonContiguous limit to two) say for example sheet1 and sheet3) and run a
macro that would Show them Vertically arranged?

Any assistance appreciated,
 
G

Gord Dibben

Jim

You can certainly show multiple windows vertically.

I see no way of grouping a couple of sheets and getting each to be in a new
window.


Gord Dibben MS Excel MVP
 
D

Dave Peterson

I think Dave F. was answering a question about arranging the tabs at the bottom
of the window--not arranging the actual windows themselves.

Maybe something like this:

Option Explicit
Sub testme()

Dim mySelectedSheets As Sheets
Dim iCtr As Long

Set mySelectedSheets = ActiveWindow.SelectedSheets

If mySelectedSheets.Count = 1 Then
Exit Sub
End If

mySelectedSheets(1).Select

For iCtr = 2 To mySelectedSheets.Count
ActiveWindow.NewWindow
mySelectedSheets(iCtr).Select
Next iCtr

ActiveWorkbook.Windows.Arrange ArrangeStyle:=xlHorizontal 'xlVertical

End Sub


(I found it easier to see the results using horizontal.)
 
D

Dave F

Yes, I understood the question to be asking whether sheets could be arranged
vertically in the same window. If I misunderstood the question, then my
apologies.

Dave
 
J

JMay

Most excellent answer; I note that sheets get assigned in :3,:2,:1 order.
Any way to reverse to :1,:2,:3 order?
Thanks,
Jim
 
D

Dave Peterson

Maybe just go in reverse?

Option Explicit
Sub testme()

Dim mySelectedSheets As Sheets
Dim iCtr As Long

Set mySelectedSheets = ActiveWindow.SelectedSheets

If mySelectedSheets.Count = 1 Then
Exit Sub
End If

mySelectedSheets(mySelectedSheets.Count).Select

For iCtr = mySelectedSheets.Count - 1 To 1 Step -1
ActiveWindow.NewWindow
mySelectedSheets(iCtr).Select
Next iCtr

ActiveWorkbook.Windows.Arrange ArrangeStyle:=xlHorizontal 'xlVertical

End Sub
 
J

JMay

Fantastic, much appreciated Dave
Jim

Dave Peterson said:
Maybe just go in reverse?

Option Explicit
Sub testme()

Dim mySelectedSheets As Sheets
Dim iCtr As Long

Set mySelectedSheets = ActiveWindow.SelectedSheets

If mySelectedSheets.Count = 1 Then
Exit Sub
End If

mySelectedSheets(mySelectedSheets.Count).Select

For iCtr = mySelectedSheets.Count - 1 To 1 Step -1
ActiveWindow.NewWindow
mySelectedSheets(iCtr).Select
Next iCtr

ActiveWorkbook.Windows.Arrange ArrangeStyle:=xlHorizontal 'xlVertical

End Sub
 
Top