Home » Excel VBA Rangeオブジェクト » VBAでセル内画像をセルの上に配置する

VBAでセル内画像をセルの上に配置する

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

ワークシート上の画像をセル内に配置するExcel VBAのコードをご紹介しました。

逆の処理もVBAから可能です。

[スポンサードリンク]

セル内画像をセルの上に配置するサンプルマクロ

以下のExcelマクロを実行すると、アクティブセルの画像がセル上に配置されます

Sub アクティブセルの画像をセルの上に配置する()
 ActiveCell.PlacePictureOverCells
End Sub

Rangeオブジェクトに用意されているPlacePictureOverCellsメソッドで、セル内の画像をセルの上に配置できます。

アクティブセルに画像がなかったとしても、エラーは発生しません。

Range.PlacePictureOverCellsメソッドの引数AsReference

オブジェクトブラウザーなどで確認できるとおり、Range.PlacePictureOverCellsメソッドには、引数AsReferenceを指定できます。

ヘルプも用意されておらず、引数AsReferenceに何を指定できるのかもわからないまま、以下のマクロを試したらとりあえずの挙動が確認できました。

Sub アクティブセルの画像をセルの上に配置する()
 ActiveCell.PlacePictureOverCells AsReference:=True
End Sub

AsReference:=Trueを指定して実行したときには、下図のようにセル内にも画像が表示されたまま、セルの上に画像が表示されました。

それに対し、先ほどのように引数を指定しない場合や、

 ActiveCell.PlacePictureOverCells

引数AsReferenceにFalseを指定した場合には、

 ActiveCell.PlacePictureOverCells AsReference:=False

下図のような状態になるようです。

[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » VBAでセル内画像をセルの上に配置する

「Excel VBA Rangeオブジェクト」の記事一覧

検索


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

.