Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » 画像を最前面へ移動するExcelマクロ-ZOrderメソッド

画像を最前面へ移動するExcelマクロ-ZOrderメソッド

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

画像を右クリックして表示されるショートカットメニューから[最前面へ移動]をクリックしたり、画像を選択しておいて[図ツール]-[書式]タブ-[配置]グループ-[前面へ移動]-[最前面へ移動]をクリックしたりすることで、

画像を最前面へ移動するExcelマクロ

画像を最前面へ移動することができます。

この操作はショートカットキーが割り当てられていないこともあり、VBA(Visual Basic for Applications)で自動化したいという要望が大きいようです。

このサイト・インストラクターのネタ帳のアクセスログにも、
「excel vba 写真 最前面」
といった検索キーワードが見られます。

画像を最前面へ移動するサンプルマクロ

以下のSubプロシージャを実行すると、アクティブシートの画像が最前面へ移動されます。

Sub 画像を最前面へ移動する()
 Dim shp As Shape
 For Each shp In ActiveSheet.Shapes
  If shp.Type = msoPicture Then
   shp.ZOrder msoBringToFront
  End If
 Next
End Sub

サンプルマクロの解説

アクティブシートのShapesコレクションオブジェクトに含まれるすべてのShapeオブジェクトに対してFor Each~Nextループを回して、
 For Each shp In ActiveSheet.Shapes

Shapeの種別が画像だったときに、
  If shp.Type = msoPicture Then

最前面へ移動しています。
   shp.ZOrder msoBringToFront

Shape.ZOrderメソッドには、

画像を最前面へ移動するExcelマクロ

OfficeライブラリーのMsoZOrderCmd列挙に定義された定数を指定でき、

画像を最前面へ移動するExcelマクロ

msoBringToFrontを指定すれば最前面への移動となります。

最終更新日時:2021-12-17 08:54

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » 画像を最前面へ移動するExcelマクロ-ZOrderメソッド

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

検索


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

.