找回密码
 立即注册
搜索

Excel如何通过VBA实现输入代号自动显示照片

0
回复
533
查看
[复制链接]

2

主题

6

帖子

4

幻币

初入江湖

Rank: 1

积分
8
2021-11-30 21:39:00 显示全部楼层 |阅读模式
求助:
职工照片保存在“照片”文件夹内,用代号+姓名标注(如:9527小强)
1.输入代号后再照片选框内显示对应人员照片(如何实现通过代号查找代号姓名命名的图片或通过“B3&D3”公式合并显示代号姓名方法实现对应图片显示)
2.搜索图片如何兼容多种图片格式(如jpg、jpeg等)
根据前辈公式试验好使(前辈代码如下),以为L4是图片位置、C10是搜索条件,修改为G3和B3后没有反应,请高手赐教
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next '设置错误处理
Application.ScreenUpdating = False '关闭屏幕刷新
Dim Mypath As String
Dim Myname As String
Dim Inrange As Range
Dim Mytext As String
Dim Myaddress As String
Dim pictemp As Variant
If Target.Count1 Then Exit Sub
If Target.Row10 Then Exit Sub
If Target.Column3 Then Exit Sub
Range("L4").Select
Mytext = Range("L4").Value
ActiveSheet.Pictures(Mytext).Delete '删除单元格中原来的图片
picPath = ThisWorkbook.Path & "\照片\" & Range("C10").Value & ".jpg"'定义插入图片的地址
'MsgBox picPath
Set pictemp = ActiveSheet.Pictures.Insert(picPath) '插入图片
pictemp.Name = Mytext '设定所插入图片的名称
pictemp.Placement = xlMoveAndSize '设置图片可以随单元格的变动而改变大小和位置
With pictemp.ShapeRange
.LockAspectRatio = msoFalse '取消图片纵横比锁定
.Height = Selection.Height '设置所插入图片的高度与单元格的高度相等
.Width = Selection.Width '设置所插入图片的宽度与单元格的宽度相等
End With
Set pictemp = Nothing '重置图片对象
Application.ScreenUpdating = True '打开屏幕刷新
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
9b93c3ff320812a84ab4422c259f0456.png
求教.rar (384.75 KB, 下载次数: 203)
PPT学习论坛
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册