Excel单元格插入图片并实现单击放大或缩小功能(含VBA代码)

0 引言

今天有人问我Excel单元格插入图片并实现单(双)击放大的功能该怎么设置,百度和Google了一下,发现大多数是利用插入批注的方式,但不是很方便,后来看到有人用VBA代码实现了这个功能,更加方便和灵活,插入多个图片也没问题。

1 提前准备VBA代码

1.1 ThisWorkbook的代码:
Private Sub Workbook_Open()
    Dim cName$
    On Error Resume Next
    For Each a In Sheet1.Shapes
        If a.Type = 1 Or a.Type = 13 Then
            a.OnAction = "test"
            cName = a.TopLeftCell.Address(0,0)
            Do
                a.Name = cName
                If Err = 0 Then Exit Do
                cName = cName & "_0"
                Err.Clear
            Loop
        End If
    Next
End Sub
1.2 模块的代码:
Sub test()
    On Error Resume Next
    For Each a In Sheet1.Shapes
        If a.Type = 1 Or a.Type = 13 Then
            If a.Name = Application.Caller And a.AlternativeText = Empty Then
                a.AlternativeText = a.Height & Chr(28) & a.Width
                a.Height = a.Width * 3
                a.Width = a.Width * 3
                a.ZOrder msoBringToFront
            Else
                a.Height = Split(a.AlternativeText, Chr(28))(0)
                a.Width = Split(a.AlternativeText, Chr(28))(1)
                a.AlternativeText = Empty
            End If
            Err.Clear
        End If
    Next
End Sub

模块的代码,其中第7,8行的数字可以改成其他,这个是高和宽的放大倍数,此处是3倍;

当然:
还有一张或多张图片。。。

2 设置步骤

2.1 VBA代码设置单元格

打开Excel,我用的是Excel2019,选中需要插入图片的单元格,摁下键盘的 ALT + F11,打开 VBA编辑器如下:

然后,双击ThisWorkbook,复制 1.1 ThisWorkbook的代码,如下:

复制完代码以后关闭工作簿1(代码自动保存了),在ThisWorkbook下方的空白处右键,选中插入–>模块,如下打开模块代码编辑:

然后复制 1.2 模块的代码,如下:

然后关闭工作簿-模块1(代码自动保存了),两个代码都用了,也关闭VBA编辑器;

到这里,已经完成一大步,对单元格完成了VBA代码的设置;

2.2 插入图片到单元格

选中单元格,Excel菜单栏插入图片,选择要插入的图片(多个图片可以多选),如下:

插入图片后,用鼠标调整图片大小到单元格内,再利用菜单栏格式–>对齐(网格对齐)[多张图需要用到左对齐等对齐],使图片填充到单元格内,如下:

接下来这一步能保证单击放大的图片够清晰,利用菜单栏格式–>压缩图片,分辨率选择高保真,如下:(这里我换了张图,因为我这里高保真灰色不可选,结果换了图还是不可选,就选了HD,尴尬。。。)

2.3 以启用宏的方式保存图片

最后,尝试单击或双击图片并没有放大,是因为需要先保存再打开才行,因为VBA代码设置的宏还没生效。所以 ctrl + s,保存图片,文件名随便,但保存类型要选择Excel启用宏的工作簿,如下:
在这里插入图片描述
再次打开保存的文件,发现如下图的安全警告 宏已被禁用,点击 启用内容 就行了,尝试单击图片实现放大效果(选择HD,放大有颗粒感,高保真应该会更好。。。),再次单击放大图片或其他单元格,实现缩小图片,如下:
在这里插入图片描述

  • 15
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 17
    评论
Excel中,你可以通过以下步骤将图片插入单元格中: 1. 首先,确保你的照片已经进行了预处理,使其大小适合插入单元格。这可以通过调整照片的尺寸来实现。 2. 然后,确保你的数据表中的“名称”列已经按照升序排序。这是因为在文件夹中,照片默认按照名称进行排序。 3. 在目标单元格上右击,选择“添加批注”。 4. 在批注输入框中删除所有文字。 5. 将鼠标移动到批注输入框的边线上,当指针变成十字箭头时,单击鼠标右键。 6. 选择“设置批注格式”,然后选择“颜色与线条”。 7. 在“填充效果”选项卡中,选择“图片”。 8. 单击“选择图片”按钮,选择要插入的图片。 这样,你就可以将图片插入到Excel单元格中了。请注意,这些步骤中的引用内容\[1\]\[2\]提供了详细的操作说明。 #### 引用[.reference_title] - *1* [【知识兔Excel教程】怎么批量插入大量图片Excel表格里?](https://blog.csdn.net/zhishitu0/article/details/124892348)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [在excel中添加图片](https://blog.csdn.net/knxw0001/article/details/6908301)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZPILOTE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值