使用Vba代码在工作表中显示图像
我试图编写一个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
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