Arrangeメソッド解説(Excel VBA)

Excel VBA:Arrangeメソッドについて

このページではWindowsオブジェクトとShapesオブジェクトの2種のArrangeメソッドについて説明します。

WindowsオブジェクトのArrangeメソッドについて

Excel VBAのWindowsオブジェクトのArrangeメソッドは、Excelの開いているすべてのウィンドウを特定の方式で配置します。配置の方式は、Arrangeメソッドの引数で指定します。

WindowsオブジェクトのArrangeメソッドの基本的な構文


    expression.Arrange(ArrangeStyle, ActiveWorkbook, SyncHorizontal, SyncVertical)
    

引数の説明

  • ArrangeStyle: ウィンドウの配置スタイルを指定します。この引数は省略可能で、指定しない場合はデフォルトでxlTiledになります。
  • ActiveWorkbook: Trueを指定すると、アクティブなワークブックのウィンドウのみを配置します。この引数も省略可能です。
  • SyncHorizontal: Trueを指定すると、水平方向にスクロールが同期します。この引数も省略可能です。
  • SyncVertical: Trueを指定すると、垂直方向にスクロールが同期します。この引数も省略可能です。

サンプルコード

以下に、開いているウィンドウをタイル状に配置する簡単なサンプルコードを示します。


    Sub ArrangeWindows()
        Application.Windows.Arrange xlArrangeStyleTiled
    End Sub
    

このコードは、xlArrangeStyleTiledを引数に指定してArrangeメソッドを呼び出しています。これにより、開いているすべてのウィンドウをタイル状に配置します。

ShapesオブジェクトのArrangeメソッドについて

Excel VBAのShapesオブジェクトのArrangeメソッドは、選択されているシェイプ(図形)を特定の方式で配置します。配置の方式は、Arrangeメソッドの引数で指定します。

ShapesオブジェクトのArrangeメソッドの基本的な構文


    expression.Arrange(ZOrderCmd)
    

引数の説明

  • ZOrderCmd: シェイプの配置を指定します。指定可能な値は、msoBringToFront、msoSendToBack、msoBringForward、msoSendBackwardです。

サンプルコード

以下に、選択されているシェイプを前面に移動する簡単なサンプルコードを示します。


    Sub ArrangeShapes()
        ActiveSheet.Shapes.Range(Array("Rectangle 1")).Select
        Selection.ShapeRange.ZOrder msoBringToFront
    End Sub
    

このコードは、”Rectangle 1″という名前のシェイプを選択し、ZOrderメソッドでmsoBringToFrontを引数に指定しています。これにより、選択されているシェイプを前面に移動します。