EXCEL的VBA 运行时错误 424 要求对象

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

On Error GoTo Error1

If Target.Row >= 7 Then

If Sheets("¿â´æ²éѯ").Range("AI" + CStr(Target.Row)).Value <> "" Then
Image1.Picture = LoadPicture(Sheets("¿â´æ²éѯ").Range("AI" + CStr(Target.Row)).Value)
Image1.Left = ActiveCell(1, 2).Left
Image1.Top = ActiveCell(1, 2).Top + 17
Image1.Visible = True

Else
MsgBox "ͼƬ²»´æÔÚ"
End If

End If
Exit Sub
Error1:

MsgBox "ͼƬ²»´æÔÚ"
Image1.Visible = False

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Image1.Visible = False

On Error Resume Next

If Target.Row >= 7 Then

Image1.Picture = LoadPicture(Sheets("¿â´æ²éѯ").Range("AI" + CStr(Target.Row)).Value)

End If
End Sub

在有些电脑上..不会出错..有些电脑上会出错..为什么?

是不是外语名称啊,显示的Sheet名称都是乱码,不过不影响,感觉有问题的有一句

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Image1.Visible = False '就是这一句,Image1事先未定义,可能引发错误"要求对象",删除试试

On Error Resume Next

If Target.Row >= 7 Then

Image1.Picture = LoadPicture(Sheets("¿â´æ²éѯ").Range("AI" + CStr(Target.Row)).Value)

End If
End Sub追问

删除是可以..但这样就看不了图片了

追答

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Image1.Visible = False '就是这一句,Image1事先未定义,可能引发错误"要求对象",删除试试

On Error Resume Next

If Target.Row >= 7 Then

Image1.Picture = LoadPicture(Sheets("¿â´æ²éѯ").Range("AI" + CStr(Target.Row)).Value)
Image1.Visible = True'再加上这句试试捏
End If
End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-09-01
你的文件中有textbox1和combobox1吗?你确定没删除吗?你确定各控件的名称与代码中引用的控件名称一致吗?没有附件,胡乱猜测。
第2个回答  2015-01-21
vba代码帮调试修改追问

已经是在调试了..有些电脑上..可以运行..有些不可以..好像和Office升级有关

相似回答