例文を使って繰り返し業務を時短

【マクロ・VBA】別ウィンドウを表示する

エクセル、マクロ、VBAでウィンドウを表示する方法 VBA

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

コメント

タイトルとURLをコピーしました