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を引数に指定しています。これにより、選択されているシェイプを前面に移動します。