shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【Excel VBA】Excelで画面を分割表示のサンプル

ExcelのVBAで、2つのExcelファイルを指定し、画面を分割表示のサンプルです。

内容:

動作確認のExcelは「Microsoft® Excel® for Microsoft 365 MSO」(バージョン2501)です。

画面を分割表示するVBAサンプル

VBAのサンプルは次のとおりです。

Sub メイン()
    '===動作確認用でExcelの起動==='
    Dim wb1 As Workbook
    Dim wb2 As Workbook
    
    ' 1つ目のブックを開く'
    Set wb1 = Workbooks.Add
    
    ' 2つ目のブックを開く(動作確認用で並べて表示には利用しない。削除可)'
    Set wb2 = Workbooks.Add
    
    ' 3つ目のブックを開く'
    Set wb3 = Workbooks.Add
    
    ' 1つ目と3つ目のブックを並べて表示'
    Call Excelで画面を分割表示のサンプル(wb1.Windows(1), wb3.Windows(1))
 
End Sub

Function Excelで画面を分割表示のサンプル(左画面 As Window, 右画面 As Window)
    
    ' 画面の幅と高さを取得'
    Dim screenWidth As Long
    Dim screenHeight As Long
    
    Application.WindowState = xlMaximized
    screenWidth = Application.Width
    screenHeight = Application.Height

    ' 右側のExcelウィンドウを画面の右半分に配置'
    With 右画面
        .WindowState = xlNormal
        .Top = 0
        .left = screenWidth / 2
        .Width = screenWidth / 2
        .Height = screenHeight
    End With
    
    ' 左側のExcelウィンドウを画面の左半分に配置'
    With 左画面
        .WindowState = xlNormal
        .Top = 0
        .left = 0
        .Width = screenWidth / 2
        .Height = screenHeight
    End With
        
End Function

補足説明

Application.Windows.Arrange を使用する方法もありますが、横幅調整を指定できる点、対象ファイルを選択しやすい点から上記の方法としました。

ExcelとWordを並べて表示の事例

Wordを操作するなどの理由で、画面内にExcelとWordを並べて表示したいときのサンプルは次のとおりです。

shikumika.org

以上、Excel VBAを利用し、2つのExcelファイルを指定し、画面を分割表示のサンプルでした。