Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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
基于MS Excel中的单元格值显示文件夹中的图像_Excel_Image - Fatal编程技术网

基于MS Excel中的单元格值显示文件夹中的图像

基于MS Excel中的单元格值显示文件夹中的图像,excel,image,Excel,Image,我想在Microsoft Excel中显示基于相关单元格值的图像 比如说, A1 = "mypic.png" B1 cell should show mypic.png A2 = "anotherpic.png" B2 cell should show anotherpic.png 图片在同一目录中 有什么办法吗?使用此代码,您可以使用存储在单元格A1中的路径在单元格F20中插入图像。使用完整路径,如D:\one.jpg。用您的姓名更改选项卡1 Sub Test()

我想在Microsoft Excel中显示基于相关单元格值的图像

比如说,

A1 = "mypic.png"        B1 cell should show mypic.png 
A2 = "anotherpic.png"   B2 cell should show anotherpic.png
图片在同一目录中


有什么办法吗?

使用此代码,您可以使用存储在单元格
A1
中的路径在单元格
F20
中插入图像。使用完整路径,如
D:\one.jpg
。用您的姓名更改
选项卡1

Sub Test()
    Dim objPicture As Picture
    With Tabelle1.Cells(20, 6) ' Picture starts in cell F20 -> change as you need 
        Set objPicture = .Parent.Pictures.Insert(Tabelle1.Cells(1, 1).Value)
        objPicture.Top = .Top
        objPicture.Left = .Left
        objPicture.Height = 150
        objPicture.Width = 150
    End With
End Sub

我创建了一个模板来显示基于单元格值的图像,希望对用户有用。 我在与工作簿相同的位置创建了“图像”文件夹,并将图像添加到此文件夹中。在此文件夹中,如果存在与工作表A列中的单元格值同名的图像,则会调用该图像,并在F列的图像控件上显示该图像

为此,我在工作表\u SelectionChange过程中添加了一个代码片段。VBA代码:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim fso As Object

If Target.Address = "$A$1" Then
Image1_Click
Exit Sub
ElseIf Target.Address = "$A$" & ActiveCell.Row Then
Image1.Visible = True
Image1.Top = ActiveCell.Top
Image1.Left = ActiveCell.Offset(0, 5).Left
End If

On Local Error Resume Next
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(ThisWorkbook.Path & "\Images\" & Trim(ActiveCell.Value) & ".jpg") = True Then
Image1.Picture = LoadPicture(ThisWorkbook.Path & "\Images\" & Trim(ActiveCell.Value) & ".jpg")

ElseIf fso.FileExists(ThisWorkbook.Path & "\Images\" & Replace(ActiveCell.Value, " ", "") & ".jpg") = True Then
Image1.Picture = LoadPicture(ThisWorkbook.Path & "\Images\" & Replace(ActiveCell.Value, " ", "") & ".jpg")
Else
Image1.Visible = False
End If

End Sub


这里的解释和示例文件:

@katz非常感谢。它起作用了。但是照片没有显示在单元格中。更确切地说,它是在一个鞭子盒子里展示的。另一个问题是,单元格现在应该来自变量。请帮助。@s.k.paul请提供您确切需要的更多详细信息