ゴリラストロングの雑記帳

月収10万円の広告収入を目指す自称専業ライターのブログです。




【Excel VBA】指定のセルに画像のファイル名を取得して転記した後、転記した画像ファイル名をキーワードにして画像ファイルを貼り付けるマクロ。 




どうも、ゴリラストロングです。

 

 

今回は、指定のセルに画像のファイル名を取得して転記した後、転記した画像ファイル名をキーワードにして画像ファイルを貼り付けるマクロを作成してみました。 

 

  

<元データ>

f:id:gorilla-strong:20200306093952p:plain

 

f:id:gorilla-strong:20200306095727p:plain

 

 

<マクロ①実行後>

f:id:gorilla-strong:20200306095804p:plain

各セルに画像のファイル名を取得して転記しています。

  

 

<マクロ②実行後>

f:id:gorilla-strong:20200306095834p:plain

マクロ①で転記した画像ファイル名をキーワードにして、画像ファイルを貼り付けています。 

 

 

ソースコード①>

Sub ファイル名取得()

Dim test As Object
Set test = Workbooks("画像貼付.xlsx").Worksheets("テスト")
 
Dim fso As FileSystemObject
Set fso = New FileSystemObject

Dim path As String
path = ThisWorkbook.path

Dim lastrow As Long
lastrow = test.Cells(Rows.Count, 2).End(xlUp).Row



For k = 10 To lastrow

On Error GoTo MyError

Dim fname As String
fname = test.Range("B" & k)

Dim fl As Folder
Set fl = fso.GetFolder(path & "\" & fname) ' フォルダを指定

Dim fnamerow As Long
fnamerow = test.Columns("B").Find(fname).Row





j = 3

Dim f As File
Dim i As Long: i = fnamerow
For Each f In fl.Files ' フォルダ内のファイルを取得

    test.Cells(i, j).Value = f.Name 'ファイル名
    
    
    j = j + 1
Next

Next

MyError:
 
End Sub

 

 

ソースコード②>

Sub 画像貼付()

Dim macro, temp As Object
Set macro = Workbooks("画像貼付.xlsm").Worksheets("画像貼付")
Set temp = Workbooks("画像貼付.xlsx").Worksheets("テスト")

Dim path As String
path = ThisWorkbook.path




Dim lastrow As Long
lastrow = temp.Cells(Rows.Count, 2).End(xlUp).Row

k = 10

For j = 10 To lastrow

Dim fnum As String
fnum = temp.Cells(j, 2)

Dim lastcolumn As Long
lastcolumn = temp.Cells(j, Columns.Count).End(xlToLeft).Column



For i = 3 To lastcolumn



Dim pnum As String
pnum = temp.Cells(k, i)


On Error GoTo MyError

With temp.Pictures.Insert(path & "\" & fnum & "\" & pnum)

    .Top = temp.Cells(k, i).Top + 5
    .Left = temp.Cells(k, i).Left + 5
    .Width = temp.Cells(k, i).Width - 10
    .Height = temp.Cells(k, i).Height - 10
End With


Next

k = k + 1

Next

MyError:



End Sub

 

 

こちら画像操作系マクロの別記事です。

よろしければご覧になってみてください。 

gorilla-strong.hatenablog.com

 

 

以上、ゴリラストロングでした。