In Visual Basic for Applications (VBA), you can use multiple windows to look at different parts of the same worksheet:
ActiveWindow.NewWindow Windows.Arrange ArrangeStyle:=xlHorizontal
In AppleScript, you can make the new window, but there's no arrange command. Instead, you have to:
tell application "Microsoft Excel"
tell active workbook
set {l, t, h, w} to window 1's {left position, top, height, width}
new window on workbook
tell window 1 to set {left, top, height, width} to {l, t, h / 2, w}
tell window 2 to set {left, top, height, width} to {l, (t + h / 2), h / 2, w}
end tell
end tellHeight is measured in points starting at the top of the screen, starting with (0, 0). That is why you have to add half the height to get halfway down.
Note that active window is a "dynamic" reference to whichever window is in the front at any time you refer to it. Even when you have set a variable to it, the variable "moves" to the current active window. Setting, or even copying, a variable to active window of the application doesn't "hold" the window. When a new window is made, it becomes the active window, and the variable, which is a reference, now refers to the new one.
If you're not careful, you can end up doing both of the operations on the same window, and end up with a quarter-size one halfway off the screen, and a full-size one exactly where it was to begin with. That's why it's easier to just refer to
window 1
and
window 2
of the workbook after the new one is made. In this case, it doesn't matter which is the active one.
In VBA, you can set the view of a window using the View property (xlNormalView, xlPageBreakPreview, or xlPageLayoutView):
ActiveWindow.View = xlNormalView
In AppleScript:
set view of active window to normal view


