Excelのシート上で、画像を挿入・操作・加工する作業を自動化します。これにより、レポートや資料に必要な画像の管理が簡単になり、作業効率が向上します。使い方や注意点など、サンプルコードをもとに具体的に解説します。
日常業務でExcelを多用し、手動作業を減らしたいと考えている方へ
本サイト参考:Excel VBAで自動化するコードのベースを習得したい方におすすめの記事
以下のようなシーンで利用で表示します。
1.レポート作成
シート内にロゴやグラフ画像を一括で挿入する。
2.大量データの可視化
複数の画像を一括で配置し、サイズや位置を整える。
3.資料の自動更新
外部画像をリンクして定期的に更新する。
1.画像を挿入する
VBAコードで指定したファイルパスから画像を挿入します。
2.画像を操作する
サイズ変更、位置調整、名前変更などの操作が可能です。
3.画像を削除する
指定した画像を削除して更新や修正ができます。
1.ファイルパスの確認
挿入する画像のパスが正しいことを確認してください。
2.画像サイズ
挿入後の画像サイズが大きすぎると、シートが見づらくなる可能性があります。
3.既存画像との重複
同じ位置に画像が重複しないよう注意しましょう。
4.パフォーマンス
大量の画像操作は処理速度に影響する可能性があります。
基本的な文法やVBAの実践的な応用までを網羅的に学習できる方法は、ExcelVBAエキスパート資格の取得を目指すこと。学習を通して、より効率的に、着実に基礎を身につけることが可能です。資格取得すれば、スキルの証明にもなり、職場での評価アップにも繋がるため、勉強を進めるモチベーションにもなります。
本サイト参考:マクロ知識がないから「何から学べば良いのかわからない」という人におすすめの記事
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
画像のサイズと位置を調整
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で自動化するコードのベースを習得したい方におすすめ!
VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。
ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。
ExcelVBAエキスパートスタンダード
ExcelVBAの開発を仕事にする人が対象の問題集です。
Excel VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。