
Excelのシート上で、画像を挿入・操作・加工する作業を自動化します。これにより、レポートや資料に必要な画像の管理が簡単になり、作業効率が向上します。使い方や注意点など、サンプルコードをもとに具体的に解説します。
📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!
👇実務で“そのまま使える”テンプレ付きで、コピペするだけ!
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き
目次
Excel VBA 画像を挿入・操作・加工する作業を自動化するシーン
以下のようなシーンで利用で表示します。
1.レポート作成
シート内にロゴやグラフ画像を一括で挿入する。
2.大量データの可視化
複数の画像を一括で配置し、サイズや位置を整える。
3.資料の自動更新
外部画像をリンクして定期的に更新する。
Excel VBA 画像を挿入・操作・加工する作業を自動化|使い方とポイント
1.画像を挿入する
VBAコードで指定したファイルパスから画像を挿入します。
2.画像を操作する
サイズ変更、位置調整、名前変更などの操作が可能です。
3.画像を削除する
指定した画像を削除して更新や修正ができます。
1.ファイルパスの確認
挿入する画像のパスが正しいことを確認してください。
2.画像サイズ
挿入後の画像サイズが大きすぎると、シートが見づらくなる可能性があります。
3.既存画像との重複
同じ位置に画像が重複しないよう注意しましょう。
4.パフォーマンス
大量の画像操作は処理速度に影響する可能性があります。
Excel VBA 画像を挿入・操作・加工する作業を自動化のサンプルコード
Option Explicit
Sub InsertImage()
Dim ws As Worksheet
Dim imgPath As String
Dim img As Shape
' 挿入先のシートを指定
Set ws = ThisWorkbook.Sheets("Sheet1")
' 画像のパスを指定
imgPath = "C:\Users\User\Desktop\新しいフォルダー\Sample.png"
' 画像を挿入
Set img = ws.Shapes.AddPicture(Filename:=imgPath, _
LinkToFile:=msoFalse, _
SaveWithDocument:=msoTrue, _
Left:=100, Top:=50, Width:=200, Height:=150)
MsgBox "画像を挿入しました!"
End Sub
自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。
画像のサイズと位置を調整
Option Explicit
Sub AdjustImage()
Dim ws As Worksheet
Dim img As Shape
' シートと画像を指定
Set ws = ThisWorkbook.Sheets("Sheet1")
Set img = ws.Shapes("Picture 1") ' 挿入した画像の名前を指定
' サイズと位置を変更
With img
.LockAspectRatio = msoTrue ' アスペクト比を固定
.Width = 300 ' 幅を設定
.Top = 100 ' 上からの位置
.Left = 200 ' 左からの位置
End With
MsgBox "画像のサイズと位置を変更しました!"
End Sub
画像を削除
Option Explicit
Sub DeleteImage()
Dim ws As Worksheet
Dim img As Shape
' シートを指定
Set ws = ThisWorkbook.Sheets("Sheet1")
' 画像を検索して削除
For Each img In ws.Shapes
If img.Type = msoPicture Then
img.Delete
End If
Next img
MsgBox "画像を削除しました!"
End Sub
複数画像を一括挿入
Option Explicit
Sub InsertMultipleImages()
Dim ws As Worksheet
Dim imgPath As String
Dim i As Integer
' シートを指定
Set ws = ThisWorkbook.Sheets("Sheet1")
' 画像のパス(例: フォルダー内の複数画像)
imgPath = "C:\Users\User\Desktop\新しいフォルダー\" ' フォルダーを指定
' 画像を連続挿入
For i = 1 To 2
ws.Shapes.AddPicture Filename:=imgPath & i & ".png", _
LinkToFile:=msoFalse, _
SaveWithDocument:=msoTrue, _
Left:=50, Top:=i * 150, Width:=200, Height:=150
Next i
MsgBox "画像を一括挿入しました!"
End Sub
画像ペイント操作をExcelVBAで自動化することで、資料やレポートの効率的な作成が可能になります。画像の挿入、操作、削除の基本を学ぶことで、実務での応用範囲が広がります。
「Excel VBAで自動化するコードのベースが習得できる解説書」
Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。