Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 基于vlookup结果的图像导入_Excel_Vba - Fatal编程技术网

Excel 基于vlookup结果的图像导入

Excel 基于vlookup结果的图像导入,excel,vba,Excel,Vba,我在下拉窗口的选择中设置了一个Vlookup。这很容易。我发现困难的是,一旦我选择了一个名字,我需要他们的图像显示在我工作表的一个区域。任何帮助都将不胜感激。我正在使用Excel 2010。谢谢。如果将图片放入工作表中所需的位置,则可以使用该图片属性插入新图片(删除旧图片后)。或者,可以将大小属性设置为常量。将此代码粘贴到模块中: Const PicturePath = "C:\Users\Public\Pictures\Sample Pictures\" Sub ChangePicture(P

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

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

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

然后,当你点击其中一张时,代码将运行并插入你的新图片代替旧图片。这至少应该让您开始,您可以调整代码以满足您的目的。确保您的工作表中有一张图片,这是您想要的大小和位置,然后新图片将位于相同的位置和大小。

检查,这就是您想要做的吗?或者?如果图像位于同一工作簿中,则可以这样做。我把图片放在另一个文件夹中,它们各自的名字下,但不在工作簿中。我希望以某种方式将该文件夹链接到该工作表。我的第一个想法是超链接,但我被卡住了。你有什么理由不能把它们复制到某个帮助表(即“图像”)上的工作簿中,然后从那里拉出来?或者您正在尝试从网络位置或文件夹(即C:\Users\Me\Pictures\myImage.jpg)中提取图像?是的,这些图像位于网络驱动器上。我认为这样做可能更容易,但我可能不得不将每张图片复制并粘贴到工作簿的某个地方。谢谢,谢谢。我稍后会试试,然后告诉你。我感谢你的答复。
 Desert.jpg
 Jellyfish.jpg
 Koala.jpg