VBAで同じディレクトリ内にある画像を取り込むサンプルコードを紹介します。
仕様
用意するのは以下の2ファイルです。
- 画像ファイル
- マクロ付きExcelファイル
フォルダ構成

マクロを実行する前、Excelの中身は何もありません。
そしてマクロを実行すると、画像ファイルをシート上に取り込みます。
実行前

ソースコード
VBAのエディタで以下のコードを記述します。
Option Explicit
Sub getPicture()
'画像のパス
Dim thisBookPath As String
thisBookPath = ThisWorkbook.Path
With ThisWorkbook.Sheets("Sheet1").Pictures.Insert(thisBookPath + "\2012-08-09 15.34.18.jpg")
'位置
.Top = Range("B3").Top
.Left = Range("B3").Left
'縦と横の比率を保持しない
ThisWorkbook.Sheets("Sheet1").Shapes(.Name).LockAspectRatio = msoFalse
'サイズ
'縦横5マス
.Width = Range("B3:F3").Width
.Height = Range("B3:B12").Height
End With
End Sub
画像は以下の設定で張り付けます。
- 画像のパス:同じフォルダ内
- 画像の貼り付け位置:B3セル
- 画像の縦横比:保持しない
- サイズ:横B3~F3の長さ、縦B3~B12の長さ
実行
実行手順
Alt + F8でマクロの一覧から、先ほどのマクロ関数を選択して実行します。

実行結果
マクロの実行ボタンを押下しました。
すると画像ファイルがシート上に貼り付けられました。

参考情報
環境
下記の環境で作成・実行しております。
No. | 環境 | バージョン |
---|---|---|
1 | OS | Windows11 |
2 | Excel | Excel2016 |
以上です。