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单元点击一下 回车后 图片才能显示,这个问题怎么解决 展开
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单元点击一下 回车后 图片才能显示,这个问题怎么解决 展开
1个回答
展开全部
根据楼主的描述,个人觉得在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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询