動作検証バージョン:Windows 11 Home + 64bit Excel バージョン 2507(ビルド19029.20184クイック実行)
Excel VBAの、Shape.PlacePictureInCellメソッドでワークシート上の画像をセル内に配置できること、Range.PlacePictureOverCellsメソッドでセル内画像をセルの上に配置できることをご紹介しました。
セル内に画像を挿入するコードもご紹介しておきます。
[スポンサードリンク]
セル内に画像を挿入するサンプルマクロ
以下のExcelマクロを実行すると、amazon.comサイトにある拙著『いちばんやさしいExcel VBAの教本』の表紙画像が、G7セルに挿入されます。
Sub セル内に画像を挿入する()
Range("G7").Select
ActiveCell.InsertPictureInCell "https://m.media-amazon.com/images/I/915UQviwwML._SY522_.jpg"
End Sub
Range("G7").Select
ActiveCell.InsertPictureInCell "https://m.media-amazon.com/images/I/915UQviwwML._SY522_.jpg"
End Sub
Range.InsertPictureInCellの注意点
ワークシート上の画像をセル内に配置するマクロと同様に、選択処理が事前に必要です。
一般的なExcel VBAであれば、選択処理の無い
Range("G7").InsertPictureInCell "https://m.media-amazon.com/images/I/915UQviwwML._SY522_.jpg"
だけでもG7セルへの画像挿入が行われそうに思うはずですが、これではだめです。
このコードを実行したときに、アクティブなセルに画像が挿入されますから、事前にRange.Selectメソッドで選択を行っておいてから「ActiveCell.InsertPictureInCell」の形で呼び出す必要があります。
[スポンサードリンク]
- Newer:アクティブシートの一部を削除してCSV出力するExcelマクロ
- Older:VBAで数値を1桁ずつ配列変数に格納する
Home » Excel VBA Rangeオブジェクト » Excel VBAでセル内に画像を挿入する