ExcelVBA Pictureで画像を操作する作業を自動化で作業効率をあげる

 

Excelのシート上で、画像を挿入・操作・加工する作業を自動化します。これにより、レポートや資料に必要な画像の管理が簡単になり、作業効率が向上します。使い方や注意点など、サンプルコードをもとに具体的に解説します。

 

「VBAスキルを証明できれば、社内評価アップにつながるかもしれません
👉 VBAを学んで社内評価を上げる方法はこちら

 

 

Excel VBA 画像を挿入・操作・加工する作業を自動化するシーン

以下のようなシーンで利用で表示します。

1.レポート作成
シート内にロゴやグラフ画像を一括で挿入する。

2.大量データの可視化
複数の画像を一括で配置し、サイズや位置を整える。

3.資料の自動更新
外部画像をリンクして定期的に更新する。

Excel VBA 画像を挿入・操作・加工する作業を自動化|使い方とポイント

使い方

1.画像を挿入する
VBAコードで指定したファイルパスから画像を挿入します。

2.画像を操作する
サイズ変更、位置調整、名前変更などの操作が可能です。

3.画像を削除する
指定した画像を削除して更新や修正ができます。

ポイント

1.ファイルパスの確認
挿入する画像のパスが正しいことを確認してください。

2.画像サイズ
挿入後の画像サイズが大きすぎると、シートが見づらくなる可能性があります。

3.既存画像との重複
同じ位置に画像が重複しないよう注意しましょう。

4.パフォーマンス
大量の画像操作は処理速度に影響する可能性があります。

 

Excel VBA  画像を挿入・操作・加工する作業を自動化のサンプルコード

「VBAスキルを証明できれば、社内評価アップにつながるかもしれません
👉 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

画像のサイズと位置を調整

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エキスパート」をご確認ください。

 

「VBAスキルを証明できれば、社内評価アップにつながるかもしれません