如何用VBA在指定Excel单元格插入超链接图片?

假定A1单元格有超链接图片,如何用VBA在F1单元格中插入改图片... 假定A1单元格有超链接图片,如何用VBA在F1单元格中插入改图片 展开
 我来答
shihoumacili
高粉答主

2016-01-10 · 每个回答都超有意思的
知道大有可为答主
回答量:1.1万
采纳率:87%
帮助的人:490万
展开全部

可以用vba代码完成:

1、先编制表格:

2、在表格里编写触发宏代码:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim photoname As String


If Target.Row = 3 And Target.Column > 3 And Target.Column < 6 Then

On Error Resume Next     '忽略错误继续执行VBA代码,避免出现错误消息

Application.ScreenUpdating = False

Application.EnableEvents = False

For Each shp In Sheets("查询表").Shapes

    If shp.Type <> 8 And shp.Type <> 12 Then

        shp.Delete

    End If

Next

    photoname = Cells(3, 4) & ".JPG"

    Cells(3, "L").Select

    ActiveSheet.Pictures.Insert(ActiveWorkbook.Path & "\照片\" & photoname).Select        '当前文件所在目录下以单元内容为名称的.jpg图片

    With Selection

        ta = Range(Cells(3, "L").MergeArea.Address).Height    '单元高度

        tb = Range(Cells(3, "L").MergeArea.Address).Width      '单元宽度

        tc = .Height    '图片高度

        td = .Width     '图片宽度

        tm = Application.WorksheetFunction.Min(ta / tc, tb / td)    '单元与图片之间长宽差异比例的最小值

        .Top = ActiveCell.Top + 2

        .Left = ActiveCell.Left + 1

        .Height = .Height * tm * 0.98 '按比例调整图片宽度

        .Width = .Width * tm * 0.98   '按比例调整图片高度

    End With

Cells(3, 4).Select

Application.EnableEvents = True

Application.ScreenUpdating = True

End Sub

3、在当前目录下建个名为”照片“的子目录,里面存有以姓名为名称的.jpg格式的照片

4、在姓名后单元输入姓名后,就能自动插入图片了

BAIXINGR

2015-12-15 · TA获得超过3万个赞
知道大有可为答主
回答量:2.9万
采纳率:89%
帮助的人:8815万
展开全部
打开D:\tree目录下的工作簿,在excel工作表中同时按下ALT和F11两个键,进入VBA编程,点击VBA编程中的菜单:“插入-模块”,把下面的代码粘贴到模块的空白区以后,返回到excel工作表,点击菜单工具-宏-宏,选择宏名kkk 运行代码。

sub kkk()
aa = ActiveWorkbook.Sheets.Count
For i = 1 To aa
Worksheets(i).Select
Worksheets(i).Range("A2").Select
Sheets(i).Range("A2").RowHeight = 60

ActiveSheet.Shapes.AddShape(msoShapeRectangle, 0, 48, 72, 60).Select
Selection.ShapeRange.Fill.Visible = msoFalse
Selection.ShapeRange.Shadow.Obscured = msoTrue
Selection.ShapeRange.Shadow.Type = msoShadow18

Selection.ShapeRange.Fill.UserPicture "d:\pic\" & Worksheets(i).Range("A1").Value & ".jpg"
Next i
end sub

每个工作表的A1单元格应输入“王二”等姓名,而且与D:\pic 目录下的图片文件对应
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式