前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VBA实战技巧08: 鼠标悬停在超链接公式上时运行自定义函数

VBA实战技巧08: 鼠标悬停在超链接公式上时运行自定义函数

作者头像
fanjy
发布2020-06-18 17:26:19
1.3K0
发布2020-06-18 17:26:19
举报
文章被收录于专栏:完美Excel完美Excel

本文介绍的技巧来自于myspreadsheetlab.com,这个技巧很有趣,当鼠标悬停在超链接公式上时会运行使用VBA自定义的函数,如下图1所示。

图1

如上图1所示,单元格K9中是一个超链接公式:

=IFERROR(HYPERLINK(RolloverSquare(K100),K100+1),K100+1)

其中,RolloverSquare是一个自定义函数:

Public Function RolloverSquare(XIndex As Integer)

If XIndex <> Range("XIndex").Value + 1 Then Range("XIndex").Value = XIndex + 1

End Function

在这个自定义函数中:

Range("XIndex").Value

引用名为“XIndex”的单元格中的值。这个名称为“XIndex”的单元格就是单元格K98。

因此,当我们将鼠标悬停在公式单元格K9上时,会将单元格K100中的值传递给RolloverSquare函数。在函数中,将该值与单元格K98中的值加上1的结果比较,如果两者不相等,则将K98中的值修改为K100中的值加1。

简单地说,就是当鼠标悬停在公式单元格K9上时,会比较单元格K98和K100中的值,如果K100中的值不等于K98+1,则单元格K98=K100+1。

其中间运行过程信息如下图2所示。

图2

下面将此公式应用到更多的单元格,其效果如下图3所示。

图3

可以利用这项技术创建一个小有意思的游戏,如下图4所示。单击右下角开始,当沿着白色区域到达左上角“胜利”按钮并单击,游戏获胜,右下方会显示游戏开始时间、结束时间和使用时间,并显示游戏结束。当单击开始后,碰到蓝色区域,则游戏结束。

图4

蓝色区域中使用了我们在上文中的超链接公式。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档