Home » エクセルマクロ・Excel VBAの使い方 » Shapeオブジェクト » 画像を最前面へ移動するExcelマクロ

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

対象: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 shp
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を指定すれば最前面への移動となります。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Shapeオブジェクト » 画像を最前面へ移動するExcelマクロ

TrackBack:0

TrackBack URL
[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Shapeオブジェクト » 画像を最前面へ移動するExcelマクロ

「Shapeオブジェクト」の記事一覧

検索

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

.