Excel VBA ウインドウを左右に並べて表示する 複製ウインドウを閉じる

スポンサーリンク
スポンサーリンク

ウインドウを左右に並べて表示する方法

ブック内の2つのシートを別ウインドウで並べて表示し
比較や参照したいとき、コピーや貼付けをしたいときがあります。

表示タブで新しいウインドウを開き、整列で
左右に並べて表示で表示できますが

右クリックメニューの中にウインドウの切り替えメニューを
追加して、すばやく切り替えができるようにします。

まずは、右クリックメニューにウインドウを開く
とウインドウを閉じるコマンドを作成します。
詳しくは右クリックメニューにマクロ実行コマンドを追加するをご覧ください。

右クリックメニュー追加のコード

Sub コマンド追加()
  With CommandBars("cell").Controls.Add(Before:=1, Type:=msoControlPopup)
      .Caption = "ウインドウ"
  With .Controls.Add
       .Caption = "ウインドウ開く"
       .OnAction = "wopen"
End With
  With .Controls.Add
       .Caption = "ウインドウ閉じる"
       .OnAction = "wclose"
End With
End With
End Sub

実行結果


※注意点としてコマンドメニューの追加は、他のブックにも反映されます。

追加したコマンドメニューを削除するコード

Sub コマンド削除()
  CommandBars("cell").Controls("ウインドウ").Delete
End Sub

いつでもメニューが削除できるように
同じ標準モジュール内にメニュー削除のコードも記述してください。


2つのワークシートを左右に同時に表示するには、
新規のウインドウを作成して
WindowsオブジェクトのArrange(アレンジ)メソッドの
引数ArrangeStyle(アレンジスタイル)に垂直分割を意味する
XlArrangStyleVertical(エックスエルアレンジスタイルバーティクル)を代入して
ActiveWorkbook:=Trueでブックを整列しています。

Arrange(アレンジ)メソッドの引数一覧表

定数内容
xlArrangeStyleCascade
(カスケード)
重ねて表示
xlArrangeStyleTilede
(チルダ)

並べて表示
xlArrangeStyleHorizontal
(ホリゾンタル)
上下に並べて表示
xlArrangeStyleVertical
(バーティカル)
左右に並べて表示

複数シートがある場合は
一番左のシートと一番右にあるシートを左右に整列して表示します。
シートが1枚しかない場合は同じシートを左右に整列して表示します。

ワークシートを左右同時に表示するコード

Sub wopen()
ActiveWindow.NewWindow
Windows.Arrange Arrangestyle:=xlArrangeStyleVertical, ActiveWorkbook:=True
Windows(1).Activate
Sheets(1).Activate
Windows(2).Activate
Sheets(Sheets.Count).Activate
End Sub

コマンド追加のコードと同じ標準モジュールに記述してください。


作成した複製ウインドウまとめて閉じる方法

新規ウインドウを作成すると
タイトルバーのウインドウ名の最後に
:数値(ウインドウ番号)がつきます。



このウインドウ番号があるかを確認して
繰り返し処理の中で条件分岐をしてウインドウ番号があれば
シートを閉じる処理をします。
シートが最後の1枚になった時点でウインドウ番号はなくなるので
すべてのシートが閉じられることはありません。
最後に、残ったウインドウは縮小されているので
ActiveWindow.windowState = xlMaximizedで
ウインドウを最大化しています。

複製シートをまとめて閉じるコード

Sub wclose()
Dim mysheet As window
For Each mysheet In Windows
If Right(mysheet.Caption, 2) Like ":#" Then
mysheet.Close
End If
Next mysheet
ActiveWindow.WindowState = xlMaximized

このコードも同じ標準モジュール内に記述してください。
以上でウインドウを左右に並べて表示する 複製ウインドウを閉じるの解説を終了します。
ありがとうございました。

スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク