2017-07-28 111 views
0

我想根據單元格值從文件中的Excel中插入圖片。 我在一個文件中有一組圖片,每個圖片都有不同的名稱。從vba中的文件中插入圖片

在Excel中,我有一個填充名稱列表的表,具體取決於特定條件。該列表是一組與單詞相同的單詞。

當圖片名稱出現在列表中時,我可以通過哪種方式將圖片上傳到Excel?

謝謝。

+0

你可以展示一個表的例子嗎? –

+0

所以我有一個動物列表: 狗,貓,蛇,鬣蜥。 我在文件夾上具有相同名稱的圖像。不過,如果動物的名字在桌子上,我只想讓圖像出現。謝謝! – franciscofcosta

回答

0

考慮這種方法。

Sub InsertPics() 
Dim fPath As String, fName As String 
Dim r As Range, rng As Range 

Application.ScreenUpdating = False 
fPath = "C:\Users\Public\Pictures\Sample Pictures\" 
Set rng = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row) 
i = 1 

For Each r In rng 
    fName = Dir(fPath) 
    Do While fName <> "" 
     If fName = r.Value Then 
      With ActiveSheet.Pictures.Insert(fPath & fName) 
       .ShapeRange.LockAspectRatio = msoTrue 
       Set px = .ShapeRange 
       If .ShapeRange.Width > Rows(i).Columns(2).Width Then .ShapeRange.Width = Columns(2).Width 
        With Cells(i, 2) 
         px.Top = .Top 
         px.Left = .Left 
         .RowHeight = px.Height 
        End With 
      End With 
     End If 
     fName = Dir 
    Loop 
    i = i + 1 
Next r 
Application.ScreenUpdating = True 
End Sub 

' Note: you need the file extension, such as ',jpg', or whatever you are using, so you can match on that.