Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » Excel VBAのmsoBringForwardとは

動作検証バージョン:Windows 11 Home + 64bit Excel(バージョン2308 ビルド16731.20000 クイック実行)

「excel vba 図形 msoBringForward 使い方」
といった検索で時折アクセスがあります。

msoBringForwardは図形を前面に移動するために指定する定数

msoBringForwardは、拙著『理解するExcel VBA/図形操作の基本』の、「2-3. 重なり具合に関わるメソッド・プロパティ」でも解説している、Shape.Zorderメソッドの引数に指定する定数です。

Shape.Zorderメソッドに定数msoBringForwardを指定すると、

図形が前面に移動します。

定数msoBringForwardを確認するサンプルマクロ

簡単なExcelマクロを実行して、Shape.ZOrderメソッドに定数msoBringForwardを指定したときの挙動を確認しましょう。

アクティブシート上に図形が2つだけ存在し、下図のように重なっている状態で、

以下のExcelマクロを実行してください。

Sub msoBringToFrontを確認する()
 Dim shp As Shape
 Set shp = ActiveSheet.Shapes(1)
 shp.Select
 Stop
 
 shp.ZOrder msoBringToFront
End Sub

以下の部分が実行されると、Stopステートメントでマクロが中断します。

Set shp = ActiveSheet.Shapes(1)
shp.Select
Stop

このときワークシート上では、最背面にある図形が選択されています。

つづいてVBEで[F5]キーを押して、中断していたSubプロシージャを再度実行すると、この記事のメインテーマである

shp.ZOrder msoBringToFront

が実行され、選択されていた最背面にあった図形が前面に移動します。

図形が2つしか存在していないため、最背面にあった図形が最前面に移動しています。

これが、定数msoBringToFrontを、Shape.ZOrderメソッドの引数に指定したときの挙動です。

もう一度「msoBringToFrontを確認する」を実行すると、この時点で最背面にある図形が選択された状態で中断し、

[F5]キーを押すと最背面の図形が前面に移動します。

図形2つのときの挙動を確認したら、図形を増やして3つにして、しっかり観察しながら先ほどのExcelマクロを実行すると、msoBringForwardの役割がわかるはずです。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » Excel VBAのmsoBringForwardとは

「Shapesコレクション・Shapeオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.