ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 6684|回复: 3

[分享] 利用Excel VBA实现表格中图片单击放大,单击变小功能

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-2-16 11:39 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
    本人平时工作时需要把一些图片放入Excel中,由于Excel本身对图片的处理有些局限性,图片在表格中太小了看不清楚,太大了又影响美观,手动的拉伸与收缩实在是麻烦,所以需要对表格中的图片进行处理已实现图片单击变大,再次单击变小的功能。经过近期对Excel VBA的学习,通过编程实现了这一功能,下面与大家分享一下,希望对遇到同样问题的朋友有所帮助,因为自己是新手,也希望大家多多批评指正。(由于上传文件大小限制图片采用了压缩,Excel及相关过程详见附件)

截图

截图

说明:
         使用时随便插入图片后,鼠标右键单击图片并指定宏到“单击放大”,即可实现功能。
         用两个过程分别描述单击放大图片,再次单击缩小图片的过程,并使这两种过程不断循环下去。
            指定宏之后,由于 application.caller返回调用过程的图片的名称,此时str的值为图片的名称。利用worksheets("sheet1").shapes(str).height对图片高度进行修改(宽度一般会按比例变化)后,使用shape.zorder方法使放大的图片顶置。最后使用shape.onaction属性将图片指定宏到“单击缩小”过程。

单击放大单击缩小(1).rar

41.16 KB, 下载次数: 513

评分

3

查看全部评分

TA的精华主题

TA的得分主题

发表于 2014-7-15 15:09 | 显示全部楼层
本帖最后由 icepb 于 2014-7-15 16:06 编辑

楼主, 只是这个宏好像被破坏了啊. 下载的文件中没有了宏.
是不是也不支持 64位的excel。

TA的精华主题

TA的得分主题

发表于 2017-4-22 10:54 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
放大倍数如果改一下的话,程序就会报错,不知道为何?

TA的精华主题

TA的得分主题

发表于 2020-8-29 20:55 | 显示全部楼层
Option Explicit

Sub 单击放大()
Dim str As String
str = Application.Caller  '响应的对像(这样理解不知道对不对?)
Worksheets("sheet1").Shapes(str).Height = 5 * Worksheets("sheet1").Shapes(str).Height  '调整(放大)控件高度
Worksheets("sheet1").Shapes(str).ZOrder msoBringToFront  '图形移至顶层(这样理解不知道对不对?)
Worksheets("sheet1").Shapes(str).OnAction = "单击缩小" '指定宏为“单击缩小”
End Sub

Sub 单击缩小()
Dim str As String
str = Application.Caller
Worksheets("sheet1").Shapes(str).Height = 0.2 * Worksheets("sheet1").Shapes(str).Height   '调整(恢复)控件高度
Worksheets("sheet1").Shapes(str).OnAction = "单击放大"  '指定宏为“单击放大”
End Sub
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-30 07:12 , Processed in 0.024367 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表