ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] Excel实现图片隐藏和显示

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-11-26 10:52 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 netsonic 于 2022-11-26 16:45 编辑

估计要VBA实现,但不会写代码。
如图所示,一开始两行图片均显示,按下按钮后,有2种情况
  • 第二行图片消失;第一行图片显示若干时间,比如20s,然后消失;第二行出现并一直显示,也就是说最后只有第二行显示。
  • 第二行图片消失;第一行图片显示若干时间,比如20s,然后消失;第二行出现,显示若干时间,比如30s,然后消失,也就是说最后图片都不显示。






1.png

1.zip

104.74 KB, 下载次数: 7

TA的精华主题

TA的得分主题

发表于 2022-11-26 11:50 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
模块代码:
  1. Public B As Boolean

  2. Sub AUTOREF()
  3. Dim shp As Shape
  4. Call SHOWALL
  5. If B Then
  6.    For Each shp In ActiveSheet.Shapes
  7.        If shp.Type <> 8 And shp.Type <> 12 Then
  8.        If shp.Top < Range("A3").Top Then
  9.           shp.Visible = msoFalse
  10.        Else
  11.           shp.Visible = msoCTrue
  12.        End If
  13.        End If
  14.    Next
  15. Else
  16.    For Each shp In ActiveSheet.Shapes
  17.        If shp.Type <> 8 And shp.Type <> 12 Then
  18.        If shp.Top < Range("A3").Top Then
  19.           shp.Visible = msoCTrue
  20.        Else
  21.           shp.Visible = msoFalse
  22.        End If
  23.        End If
  24.    Next
  25. End If
  26. INTLTIME = Now + TimeSerial(0, 0, 10) '设置间隔时间为10秒
  27. DoEvents
  28. B = Not B
  29. Application.OnTime INTLTIME, "AUTOREF"
  30. End Sub

  31. Sub STOPAUTO()
  32. End
  33. Application.OnTime INTLTIME, "AUTOREF", , False '关闭自动
  34. End Sub

  35. Sub SHOWALL()
  36.   Dim shp As Shape
  37.   For Each shp In ActiveSheet.Shapes
  38.       shp.Visible = msoCTrue
  39.   Next
  40.   End
  41. End Sub
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2022-11-26 11:52 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 aman1516 于 2022-11-26 21:01 编辑

详见附件:
Pic12.rar (179.21 KB, 下载次数: 24)

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-11-26 16:27 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

里面三个按钮按了没反应

TA的精华主题

TA的得分主题

发表于 2022-11-26 16:29 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
netsonic 发表于 2022-11-26 16:27
里面三个按钮按了没反应

去掉试试....

image.jpg

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-11-26 16:41 | 显示全部楼层
本帖最后由 netsonic 于 2022-11-26 16:43 编辑

去掉2个END后,有两个问题
  • 按下AutoRef后,第一行和第二行的图片交替显示,这不符合我一楼的要求
  • 按下StopAuto后,弹出错误

1.png

TA的精华主题

TA的得分主题

发表于 2022-11-26 16:57 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
netsonic 发表于 2022-11-26 16:41
去掉2个END后,有两个问题
  • 按下AutoRef后,第一行和第二行的图片交替显示,这不符合我一楼的要求

  • 错误和END 无关,系统的问题吧

    TA的精华主题

    TA的得分主题

     楼主| 发表于 2022-11-26 20:14 | 显示全部楼层

    TA的精华主题

    TA的得分主题

    发表于 2022-11-26 21:00 | 显示全部楼层
    [广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
    有一个END去掉, 用多个参数退出循环。楼上附件已更新
    核心就两点:shp.Visible属性 和 OnTime函数
    楼主文档也是个半成品吧,附件只告诉你控制方法,具体最终要怎么组合使用,参考着改下就行了


    TA的精华主题

    TA的得分主题

     楼主| 发表于 2022-11-27 00:07 | 显示全部楼层
    [广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
    本帖最后由 netsonic 于 2022-11-27 10:39 编辑
    aman1516 发表于 2022-11-26 21:00
    有一个END去掉, 用多个参数退出循环。楼上附件已更新
    核心就两点:shp.Visible属性 和 OnTime函数
    楼主 ...

    能运行,但AutoREF的结果是第一行和第二行图片交替出现,这个原来的需求不一致。
    原来需求,分步骤叙述如下:
    1. 第二行图片消失;
    2. 第一行图片显示若干时间,比如20s,然后消失;
    3. 第二行图片重新出现,显示若干时间,比如30s,然后消失,也就是说最后所有图片都不显示。

    求大神再改改。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-11-20 18:21 , Processed in 0.045176 second(s), 11 queries , Gzip On, MemCache On.

    Powered by Discuz! X3.4

    © 1999-2023 Wooffice Inc.

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

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

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