Excel VBAで指定フォルダから画像をシートに自動で貼り付ける方法

Visual Basic

Excel 2019を使用して、指定したフォルダに保存された画像をVBAで自動的に指定したセルに貼り付ける方法を説明します。具体的には、デスクトップ上にある“test”フォルダから1.jpgをSheet1のB15:L15セルに、2.jpgをSheet2のB15:L15セルに貼り付ける方法を紹介します。

1. VBAを使用して画像をセルに挿入する基本的なコード

Excel VBAを使用して、指定したセルに画像を挿入する基本的なコードの構成を紹介します。以下のコードをVBAエディタに入力して実行します。

Sub InsertImage() 
    Dim ws As Worksheet 
    Dim imgPath As String 
    imgPath = "C:\Users\YourUsername\Desktop\test\" 
    Set ws = ThisWorkbook.Sheets("Sheet1") 
    ws.Shapes.AddPicture imgPath & "1.jpg", False, True, Range("B15").Left, Range("B15").Top, -1, -1 
End Sub

このコードは、指定されたフォルダ内の1.jpgをSheet1のB15セルに挿入します。同じ要領で、他のシートやセルにも挿入できます。

2. 複数のシートと画像を順番に処理する方法

複数のシートに順番に画像を挿入するには、画像名やシート名をループで処理する方法が便利です。以下のコードでは、1から100までの番号が付けられた画像を、Sheet1からSheet100までのシートに順番に挿入します。

Sub InsertMultipleImages() 
    Dim ws As Worksheet 
    Dim i As Integer 
    Dim imgPath As String 
    imgPath = "C:\Users\YourUsername\Desktop\test\" 
    For i = 1 To 100 
        Set ws = ThisWorkbook.Sheets("Sheet" & i) 
        ws.Shapes.AddPicture imgPath & i & ".jpg", False, True, Range("B15").Left, Range("B15").Top, -1, -1 
    Next i 
End Sub

このコードは、Sheet1からSheet100までのシートに、1.jpgから100.jpgまでの画像を順番に挿入します。画像ファイル名とシート名を動的に設定することができます。

3. 画像をセルに合わせてサイズ調整する方法

画像をセルに合わせてサイズ調整するためには、画像の幅と高さをセルのサイズに合わせて変更するコードを追加します。以下のコードは、画像をB15:L15のセル範囲に収めるようにサイズを調整します。

Sub InsertAndResizeImage() 
    Dim ws As Worksheet 
    Dim imgPath As String 
    Dim img As Shape 
    imgPath = "C:\Users\YourUsername\Desktop\test\" 
    Set ws = ThisWorkbook.Sheets("Sheet1") 
    Set img = ws.Shapes.AddPicture(imgPath & "1.jpg", False, True, Range("B15").Left, Range("B15").Top, -1, -1) 
    img.LockAspectRatio = msoFalse 
    img.Width = Range("B15:L15").Width 
    img.Height = Range("B15:L15").Height 
End Sub

このコードでは、画像を挿入し、指定したセル範囲の大きさに合わせて画像のサイズを調整しています。

4. まとめ

この記事では、VBAを使用してExcelシートに画像を自動的に挿入する方法を紹介しました。指定したフォルダ内の画像をシートに順番に挿入し、セルに合わせてサイズ調整を行うことで、作業の効率化を図ることができます。VBAを活用して、Excelでの作業をよりスムーズに進めましょう。

コメント

タイトルとURLをコピーしました