ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享]自动变换工作表中的图片

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-4-30 17:09 | 显示全部楼层 |阅读模式

前天收到一位网友的求助,要求单击工作表中所放置的图片后,图片能自动变化,觉得很有意思。这样的操作不使用VBA可能无法完成,研究了一下,决定使用“标签”控件和“图像”控件来实现。初步写了一下代码,贴出来供大家参考,这里只是提供一个思路,可能有更好的解决办法,代码也可以优化。

操作步骤:

1、在工作表中放置一个标签控件,用于显示图片;在工作表中放置若干个图像控件,用于存放要显示的图片。

2、在图像控件中放置图片。

3、在ThisWorkbook代码模块中输入下面的代码:

Private Sub Workbook_Open()
  Sheets("显示图片").Label1.Picture = Sheets("图片库").Image1.Picture
  Sheets("显示图片").Range("E1").Value = "图片一"
End Sub

注:我将显示图片的工作表命名为“显示图片”,将放置图片的工作表命名为“图片库”。这段代码用来在工作簿打开时,初始化标签控件,即在标签控件中放置图片并在相应单元格中显示信息。

4、双击标签控件,输入下面的代码在“显示图片”工作表代码模块中:

Private Sub Label1_Click()
  If Label1.Picture = Sheets("图片库").Image1.Picture Then
    Label1.Picture = Sheets("图片库").Image2.Picture
    Sheets("显示图片").Range("E1").Value = "图片二"
  ElseIf Label1.Picture = Sheets("图片库").Image2.Picture Then
    Label1.Picture = Sheets("图片库").Image3.Picture
     Sheets("显示图片").Range("E1").Value = "图片三"
  ElseIf Label1.Picture = Sheets("图片库").Image3.Picture Then
    Label1.Picture = Sheets("图片库").Image4.Picture
     Sheets("显示图片").Range("E1").Value = "图片四"
  ElseIf Label1.Picture = Sheets("图片库").Image4.Picture Then
    Label1.Picture = Sheets("图片库").Image5.Picture
     Sheets("显示图片").Range("E1").Value = "图片五"
  ElseIf Label1.Picture = Sheets("图片库").Image5.Picture Then
    Label1.Picture = Sheets("图片库").Image1.Picture
     Sheets("显示图片").Range("E1").Value = "图片一"
  End If
End Sub

5、好了,工作完成。保存并关闭该工作簿,然后重新打开,在警告信息中单击“启用宏”。此时,在图片中单击,将自动改变图片,并在单元格中显示相应的图片信息。

示例文档太大了,所以删除了部分图片并删除了相应的代码,主要是作为示例演示,您可以根据需要添加图片和相应的代码.

示例文档如下,分卷压缩,需下载到同一文件夹中然后解压: 

g4zOr4sQ.rar (431.38 KB, 下载次数: 278)
[此贴子已经被作者于2007-4-30 22:02:49编辑过]

rMpEot1D.rar

450 KB, 下载次数: 251

[分享]自动变换工作表中的图片

3COI1phb.rar

450 KB, 下载次数: 218

[分享]自动变换工作表中的图片

Zavg9Kit.rar

450 KB, 下载次数: 210

[分享]自动变换工作表中的图片

Z9KqdwGS.rar

450 KB, 下载次数: 225

[分享]自动变换工作表中的图片

BGoIRLzA.rar

450 KB, 下载次数: 215

[分享]自动变换工作表中的图片

TA的精华主题

TA的得分主题

发表于 2007-4-30 17:37 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

不用宏的吧

zSLZQbpS.rar (143.05 KB, 下载次数: 208)


是不是这样啊

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-4-30 22:06 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
QUOTE:
不用宏的吧

图片点击可在新窗口打开查看点击浏览该文件

是不是这样啊

您这里是使用了名称,并没有实现在图片上单击后,改变图片。我的示例是在图片上单击后,自动改变图片。由于示例文档太大,所以原先未上传,现已将示例进行了精减并上传。由于带有图片,文档较大,不知谁有更好的方式来实现。

TA的精华主题

TA的得分主题

发表于 2007-5-1 00:01 | 显示全部楼层
单击图片后更新图片的地址链接,文件就不会大了。

TA的精华主题

TA的得分主题

发表于 2007-8-17 13:59 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2008-2-9 00:35 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
奇怪,我怎么搞不懂这两个图片放在表中的哪个位置?????我怎么找不到这两张图片啊
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-25 11:52 , Processed in 0.036690 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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