VBAで別ウィンドウを表示するには、新しいウィンドウオブジェクトを作成し、そのオブジェクトを表示する必要があります。以下は、新しいウィンドウを作成して表示するための基本的なVBAコード例です。
Dim newWindow As New Excel.Window
newWindow.Visible = True
上記のコードでは、新しいExcelウィンドウオブジェクトを作成し、そのオブジェクトを表示するためにVisible
プロパティをTrue
に設定しています。
新しいウィンドウを表示すると、元のウィンドウとは独立した状態でExcelアプリケーションを操作できます。新しいウィンドウには、元のウィンドウで開いたブックのコピーが表示されます。新しいウィンドウで作業する場合は、新しいウィンドウを閉じるだけで、元のウィンドウに影響を与えずに作業を終了できます。
上記のコードはExcelアプリケーションに対して動作します。別のアプリケーションに対して新しいウィンドウを表示する場合は、そのアプリケーションのウィンドウオブジェクトを作成する必要があります。アプリケーションによっては、ウィンドウオブジェクトを作成するための別の方法が必要な場合があります。
別ウィンドウの表示
Sub カウントのシートを別ウィンドウで立ち上げて現在のシートと並べて表示()
With ActiveWorkbook
.NewWindow
Windows.Arrange ArrangeStyle:=xlArrangeStyleCascade
Dim window1 As Window
Set window1 = ActiveWindow
window1.Width = 400
window1.Height = 400
End With
'Sheets("カウント").Select
MsgBox "完了"
End Sub
解説
<ウィンドウの表示方法>
- 重ねて表示する:Windows.Arrange ArrangeStyle:=xlArrangeStyleCascade
- 横に並べる:Windows.Arrange xlArrangeStyleTiled
<ウィンドウの位置・サイズを設定する方法>
- 画面の上端からの距離を設定:Application.Top = 50
- 画面の左端からの距離を設定:Application.Left = 80
- ウィンドウの高さを設定:Application.Height = 400
- ウィンドウの幅を設定:Application.Width = 400
- 通常表示に設定:ActiveWindow.WindowState = xlNormal
- ウィンドウサイズを固定:ActiveWindow.EnableResize = False
シートを指定してウィンドウを並べて表示
Sub ウィンドーを並べて表示()
ActiveWindow.NewWindow
Windows.Arrange ArrangeStyle:=xlArrangeStyleVertical, ActiveWorkbook:=True
Window(1).Activate
Sheets("シート名1").Activate
Window(2).Activate
Sheets("シート名2").Activate
MsgBox "完了"
End Sub
コメント