基于vlookup结果导入图像

时间:2016-01-05 18:49:24

标签: excel excel-vba vba

我在下拉窗口中选择了一个Vlookup。这很简单。我发现困难的是,一旦我选择了一个名字,我需要将他们的图像显示在我的工作表区域中。任何帮助,将不胜感激。我正在使用Excel 2010.谢谢。

1 个答案:

答案 0 :(得分:1)

如果您将图片放入工作表中所需的位置,则可以使用该图片属性插入新图片(删除旧图片后)。或者,您可以将size属性设置为常量。将此代码粘贴到模块中:

Const PicturePath = "C:\Users\Public\Pictures\Sample Pictures\"
Sub ChangePicture(PictureName)
    Dim p As Picture
    Dim ptop, pleft, pwidth, pheight
    On Error GoTo errorhandler
    For Each p In ActiveSheet.Pictures
        ptop = p.Top
        pleft = p.Left
        pwidth = p.Width
        pheight = p.Height
        p.Delete
    Next p

    ActiveSheet.Pictures.Insert (PicturePath & PictureName)

    For Each p In ActiveSheet.Pictures
        p.Top = ptop
        p.Left = pleft
        p.Width = pwidth
        p.Height = pheight
    Next p
    Exit Sub
 errorhandler:
    MsgBox "Error loading file, check the filename to make sure it is valid.", _
        vbCritical, "ChangePicture"
End Sub

然后将此代码添加到工作表中,并附上您的图片名称

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Value <> "" Then
    ChangePicture Target.Value
End If
End Sub

在工作表中,如果您有一个图片名称列表,如

 Desert.jpg
 Jellyfish.jpg
 Koala.jpg

然后当你单击一个时,代码将运行并插入新图片代替旧图片。这至少应该让您入门,并且您可以调整代码以满足您的目的。确保工作表中有一张图片,即您想要的尺寸和位置,然后新图片将放在相同的位置,并且大小相同。