excel 用VBA 编写宏,调用图片问题?

用宏调用图片OptionExplicitPrivateSubWorksheet_Change(ByValTAsRange)OnErrorResumeNextIfT.Add... 用宏调用 图片

Option Explicit

Private Sub Worksheet_Change(ByVal T As Range)

On Error Resume Next

If T.Address = "$C$7" Then

Me.Image1.Picture = LoadPicture(ThisWorkbook.Path & "\" & T.Value & ".jpg")

End If

If Err <> 0 Then MsgBox "此人没有照片", 16, "提示"

End Sub

调用C7的数据显示图片

如果在c7直接输入数据 则图片变动 如果C7调用的是其他单元格的数据 在进行运行的时候 图片不变化 需要在C7单元点击一下 回车后 图片才能显示,这个问题怎么解决
展开
 我来答
夜空里的守望者
2020-05-16 · 穿越时空,互联互通。
夜空里的守望者
采纳数:8493 获赞数:31597

向TA提问 私信TA
展开全部

根据楼主的描述,个人觉得在VBA代码里边加入一个取消/允许触发连锁事件的语气就可以了,当双击C7单元格并回车之后,才会执行这些程序,引用改变的单元格无效(不会执行程序)。

示例如下:

Option Explicit

Private Sub Worksheet_Change(ByVal T As Range)

Application.EnableEvents = False  '禁止触发连锁事件

On Error Resume Next

If T.Address = "$C$7" Then

Me.Image1.Picture = LoadPicture(ThisWorkbook.Path & "\" & T.Value & ".jpg")

End If

If Err <> 0 Then MsgBox "此人没有照片", 16, "提示"

Application.EnableEvents = True  '允许触发连锁事件

End Sub

VBA程序代码截图

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式