Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.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
使用Vba代码在工作表中显示图像_Vba_Excel - Fatal编程技术网

使用Vba代码在工作表中显示图像

使用Vba代码在工作表中显示图像,vba,excel,Vba,Excel,我试图编写一个VBA代码,允许我点击一个单元格并显示一个图像 有人已使用此代码执行此操作: Private Sub Image1_Click() Image1.Visible = False Range("F1").ClearContents Range("A1").Select Image1.Picture = LoadPicture("") End Sub Private Sub Worksheet_SelectionChange(ByVal Target

我试图编写一个VBA代码,允许我点击一个单元格并显示一个图像

有人已使用此代码执行此操作:

Private Sub Image1_Click()
    Image1.Visible = False
    Range("F1").ClearContents
    Range("A1").Select
    Image1.Picture = LoadPicture("")
End Sub


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Static OldCell As Range
    If Target.Address = "$A$1" Then
        Image1_Click
        Exit Sub
    ElseIf Target.Address = "$A$" & ActiveCell.Row Then
        Range("F1").Value = ActiveCell.Value
        Image1.Visible = True
        Image1.Top = ActiveCell.Top
        Image1.Left = ActiveCell.Offset(0, 5).Left
    End If

    On Local Error Resume Next
    Image1.Picture = LoadPicture(ThisWorkbook.Path & "\Images\" & Range("F1").Value & ".jpg")
    If Err Then Image1.Picture = LoadPicture(ThisWorkbook.Path & "\Images\Yok.jpg")

    If Not OldCell Is Nothing Then
        OldCell.Interior.ColorIndex = xlColorIndexNone
    End If
    If Target.Address = "$A$" & ActiveCell.Row Then
        Target.Interior.ColorIndex = 6
        Set OldCell = Target
    End If
End Sub
此外,“此工作簿”中还有一小段代码

我一直在尝试将这段代码改编成我的工作表,但我没能做到。我在A列上有一个练习列表,当我点击每个练习时,我希望相关图片出现在I列上。这个练习列表位于一个名为“分析”的表格上。我的图片位于我的桌面上一个名为“练习”的文件夹中。图片以“.PNG”格式显示。我不知道这些信息是否相关,但每个练习(列表在A列)都包含一个Vlookup函数

从上面的代码中,您可以看到图片与所选单元格一致,您可以通过删除以下代码来消除这一点:

 Image1.Visible = True
 Image1.Top = ActiveCell.Top
 Image1.Left = ActiveCell.Offset(0, 5).Left
老实说,我会很高兴,如果这个代码可以适应我的情况,无论如何,我希望图片出现在一个选定的范围“I3”

如需更多信息,请随时与我联系。 多谢各位

这是我的代码

Private Sub Image1_Click()
    Image1.Visible = False
    Range("I1").ClearContents
    Range("A3").Select
    Image1.Picture = LoadPicture("")
End Sub


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Static OldCell As Range
    If Target.Address = "$A$3" Then
        Image1_Click
        Exit Sub
    ElseIf Target.Address = "$A$" & ActiveCell.Row Then
        Range("I1").Value = ActiveCell.Value
        Image1.Visible = True
        Image1.Top = ActiveCell.Top
        Image1.Left = ActiveCell.Offset(0, 5).Left
    End If

    On Local Error Resume Next
    Image1.Picture = LoadPicture(ThisWorkbook.Path & "\Exercises\" & Range("I1").Value & ".PNG")
    If Err Then Image1.Picture = LoadPicture(ThisWorkbook.Path & "\Exercises\Yok.PNG")

    If Not OldCell Is Nothing Then
        OldCell.Interior.ColorIndex = xlColorIndexNone
    End If
    If Target.Address = "$A$" & ActiveCell.Row Then
        Target.Interior.ColorIndex = 6
        Set OldCell = Target
    End If
End Sub
小家伙

Private Sub Workbook_Open()
    Sheets("Analysis").Range("A3").Select
    Sheets("Analysis").Image1.Visible = False
End Sub

当我运行代码时,我得到了错误“objectrequired”,代码行
Image1.Visible=True
高亮显示

回复:‘。。。“我做不到”请包括您遇到问题的代码部分以及您收到的任何错误。在上面,您还可以找到我的代码。我只能做一些我认为对我的情况有益的更改。您的工作表上确实有一个Image1对象,对吗?不,我的工作表上没有Image1,我不明白Image1来自何处。
Image1
是工作表上第一个图像ActiveX控件的默认名称。您可以使用“开发人员”选项卡中的“插入”选项添加它们。
Private Sub Workbook_Open()
    Sheets("Analysis").Range("A3").Select
    Sheets("Analysis").Image1.Visible = False
End Sub