Arranging 3 windows ... Regardless of Monitor Size

G

Guest

Hello;

I've an Excel file (A.xls) that opens (via a VB macro) 2 other Excel files
(B.xls and C.xls), and arranges the 3 windows horizontally (on a 17" laptop
screen) as follows (arrived at by trial & error, and it works fine):

Sub OpenArrange_1()
..........................................................................
' for A.xls, full width of screen
................................................
With ActiveWindow
.Width = 1074.74
.Height = 326.25
End With

................................................
' for B.xls, bottom left of screen
................................................
With ActiveWindow
.Top = 328
.Left = 1
.Width = 534
.Height = 332.25
End With

................................................
' for C.xls, bottom right of screen
................................................
With ActiveWindow
.Top = 328
.Left = 534.5
.Width = 543.83
.Height = 332.25
End With
...........................................................................

How can I have the same above arrangement (proportionally) on different size
monitors without having different versions of the above code for each monitor
??

Thank you kindly.
 
D

Dave Peterson

This worked ok for me:

Option Explicit
Sub testme()

Dim myWindow1 As Window
Dim myWindow2 As Window
Dim myWindow3 As Window

Dim myWidth As Double
Dim myHeight As Double
Dim myTop As Double
Dim myLeft As Double

Set myWindow1 = Workbooks("book1.xls").Windows(1)
Set myWindow2 = Workbooks("book2.xls").Windows(1)
Set myWindow3 = Workbooks("book3.xls").Windows(1)

With Application
myWidth = .UsableWidth
myHeight = .UsableHeight
myTop = 1
myLeft = 1
End With

ActiveWindow.WindowState = xlNormal

With myWindow1
.Height = myHeight / 2
.Top = myTop
.Width = myWidth
.Left = myLeft
End With
With myWindow2
.Height = myHeight / 2
.Top = myTop + .Height
.Width = myWidth / 2
.Left = myLeft
End With
With myWindow3
.Height = myHeight / 2
.Top = myTop + .Height
.Width = myWidth / 2
.Left = myLeft + .Width
End With

End Sub
 
G

Guest

Dave;

Thank you very much. I'll shortly test your "elegant" code.

Meanwhile, you may like to review my "simple" code I posted last night at
MrExcel for the same thread. Any comments ? (apart from lack of elegance!).

Thanks again for your help.
 
D

Dave Peterson

I don't visit MrExcel.
Dave;

Thank you very much. I'll shortly test your "elegant" code.

Meanwhile, you may like to review my "simple" code I posted last night at
MrExcel for the same thread. Any comments ? (apart from lack of elegance!).

Thanks again for your help.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top