文章目录

  • 0 引言
  • 1 提前准备VBA代码
    • 1.1 ThisWorkbook的代码:
    • 1.2 模块的代码:
  • 2 设置步骤
    • 2.1 VBA代码设置单元格
    • 2.2 插入图片到单元格
    • 2.3 以启用宏的方式保存图片

0 引言

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

1 提前准备VBA代码

1.1 ThisWorkbook的代码:

Private Sub Workbook_Open()Dim cName$On Error Resume NextFor Each a In Sheet1.ShapesIf a.Type = 1 Or a.Type = 13 Thena.OnAction = "test"cName = a.TopLeftCell.Address(0,0)Doa.Name = cNameIf Err = 0 Then Exit DocName = cName & "_0"Err.ClearLoopEnd IfNext
End Sub

1.2 模块的代码:

Sub test()On Error Resume NextFor Each a In Sheet1.ShapesIf a.Type = 1 Or a.Type = 13 ThenIf a.Name = Application.Caller And a.AlternativeText = Empty Thena.AlternativeText = a.Height & Chr(28) & a.Widtha.Height = a.Width * 3a.Width = a.Width * 3a.ZOrder msoBringToFrontElsea.Height = Split(a.AlternativeText, Chr(28))(0)a.Width = Split(a.AlternativeText, Chr(28))(1)a.AlternativeText = EmptyEnd IfErr.ClearEnd IfNext
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,放大有颗粒感,高保真应该会更好。。。),再次单击放大图片或其他单元格,实现缩小图片,如下:

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

  1. Excel单元格插入图片,并自适应宽高——保姆级教程

    Excel单元格插入图片,并自适应宽高--保姆级教程 author:陈镇坤27 日期:2022年3月22日 创作不易,转载请注明来源 摘要:计算图片高宽像素,将Excel单元格高宽单位转化为以像素为单 ...

  2. excel 单元格插入图片

    //插入图片 void COperExcel::XlsInsertPictrue(const CString &strPicPath,float xPos, float yPos,float ...

  3. excel2019单元格插入图片位置大小随单元格变化

    描述:excel2019单元格插入图片位置大小随单元格变化 步骤: 复制图片到Excel2019单元格 调整图片到合适大小 双击图片,菜单栏会出现 图片工具格式 找到对齐,选择对齐网格 将图片对齐单元 ...

  4. 指定单元格里面的,内容发生变化,触发事件,调用VBA代码。

    指定单元格里面的,内容发生变化,触发事件,调用VBA代码._sun0322-CSDN博客_单元格变化触发vba 目录 ■通过改变一个单元格的内容,出发一个事件,根据改变的内容,进行相应的处理. ■扩展 ...

  5. 导出Excel之单元格插入图片

    前置代码 IWorkbook wb = new XSSFWorkbook(); ISheet sheet = wb.CreateSheet("Sheet1"); //创建一个名称为 ...

  6. poi往word单元格插入图片,支持本地图片和网络图片

    poi版本:4.1.2 最近word导出时需要导出图片,在网上翻了会就发现了好心人分享的代码,但是只支持本地文件读取,我们项目需要从其他服务器获取图片,那肯定得使用网络方式了,于是在源代码上进行了完善 ...

  7. 使用NPOI向Excel单元格中插入图片

    使用NPOI向Excel单元格中插入图片 目标 代码 参考文章 目标 需要向Excel中的某一列插入图片,每行的图片大小一致. 此方法仅适用于使用NPOI向xlsx文件中的指定单元格插入图片. 代码 ...

  8. java 向word中添加excel附件并向excel单元格中加入图片并压缩图片并根据图片动态控制单元格高度宽度

    word中加入excel附件 excel单元格中插入图片 word freemarker Excel poi 制作, jxl 插入图片 压缩图片/宽高,动态控制单元格高度与宽度 1.word 需要模板 ...

  9. 在EXCEL单元格中插入迷你图

    在EXCEL单元格中插入迷你图 选中要插入图片的单元格,插入-迷你图-折线图-数据范围-确定-显示-标记 注:如果遇到插入-迷你图的位置为灰色: 更改EXCEL文件格式

最新文章

  1. go build不从本地gopath获取_Go包管理GOPATH、vendor、go mod机制
  2. GPT-3:被捧上天的流量巨星,却有重大缺陷,很危险...
  3. php excel类 ,phpExcel使用方法介绍
  4. DLINQ *.dbml文件该属于哪一层
  5. 线程同步----递归锁
  6. 比较强得一个个性签名
  7. Django 之 Cookie判断是否已登陆(写成类)
  8. linux日志自动按天保存,linux实现按天生成日志文件并自动清理
  9. NET 下数据库图片的存入与读取
  10. mc java 连接超时_Java进程CPU占用高导致的网页请求超时的故障排查
  11. Java进阶:SpringMVC数据请求全局过滤器
  12. Tomcat免安装版+Eclipse配置
  13. Java中的命名规范总结
  14. IE 11 无法安全地连接到此页面
  15. 数显之家快讯:【SHIO世硕心语】2021,对你的老板好一点!
  16. matlab无理数转分数,把无理数转化成分数值的方法
  17. 医疗器械行业迎来黄金十年,集团采购系统助力企业把握机遇,实现高质量发展
  18. Android开发项目实战:实现折叠式布局,android组件化开发与sdk
  19. 【计算机网络】4-41假定网络中的路由器B的路由表有如下的项目(这三列分别表示“目的网络”、“距离”和“下一跳路由器”):
  20. 技术专栏|室内定位不用愁,UWB来拯救!

热门文章

  1. 鸿海英雄救美让夏普重获新生 夏普称今年盈利
  2. 利用js或者后台获取客户ip地址
  3. 金九银十简历石沉大海?别投了,软件测试岗位饱和了....
  4. 一篇文章让你轻松通过佛科院的电子线路CAD考试——Altium Designer 14原理图设计与PCB设计(叶林朋著)
  5. 清华大学开源OpenKE:知识表示学习平台
  6. KooBoo CMS 代码分析
  7. 简析 Java语言的过载与重载
  8. 计算机编程与ug编程,如何学习ug编程
  9. OS2.1.2:进程的状态与转换
  10. pycharm211.7142.13 Win10下载、安装及汉化详细教程