使用VBA实现数字雨效果
标签:VBA,条件格式
在Excel中,借助于Excel公式、条件格式和一点点VBA代码,也能实现高科技题材电影中的数字雨效果。如下图1所示。
图1
下面详细讲解如何实现这样的效果。
在工作表第一行单元格区域A1:AP1中,输入0至9之间的随机数,可以使用RANDBETWEEN函数来创建随机数,然后调整列宽以方便查看,如下图2所示。
图2
在单元格区域A2:AP32中,输入公式:
=INT(RAND()*10)
打开VBE,插入一个标准模块,输入代码:
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub NumberRain()
Dim i As Integer
i = 1
Do While i <= 40
DoEvents
Range("AR1").Value = i
i = i + 1
Sleep 50
Loop
End Sub
上面的代码在单元格AR1中输入从1至40的数字,间隔50毫秒。
下面设置条件格式。
选择单元格区域A2:AP32,单击“开始——条件格式——新建规则”。在“新建格式规则”对话框中,选择规则类型“使用公式确定要设置格式的单元格”,在“为符合此公式的值设置格式”中输入公式:
=MOD($AR$1,15)=MOD(ROW()+A$1,15)
单击“格式”按钮,选择“字体”选项卡,设置字体颜色为白色。
保持选择单元格区域A2:AP32,单击“开始——条件格式——管理规则”。在“条件格式规则管理器”中,单击“新建规则”,按上述步骤,选择规则类型“使用公式确定要设置格式的单元格”,在“为符合此公式的值设置格式”中输入公式:
=MOD($AR$1,15)=MOD(ROW()+A$1+1,15)
单击“格式”按钮,选择“字体”选项卡,设置字体颜色为绿色。
保持选择单元格区域A2:AP32,单击“开始——条件格式——管理规则”。在“条件格式规则管理器”中,单击“新建规则”,按上述步骤,选择规则类型“使用公式确定要设置格式的单元格”,在“为符合此公式的值设置格式”中输入公式:
=OR(MOD($AR$1,15)=MOD(ROW()+A$1+2,15),MOD($AR$1,15)=MOD(ROW()+A$1+3,15), MOD($AR$1,15)=MOD(ROW()+A$1+4,15),MOD($AR$1,15)=MOD(ROW()+A$1+5,15))
单击“格式”按钮,选择“字体”选项卡,设置字体颜色为绿色。
接下来,选择单元格区域A1:AP32,设置其背景色为黑色。
最后,单击功能区“开发工具”选项卡“插入——按钮”,将MatrixNumberRain过程关联到该按钮。
单击该按钮,就可以看到数字雨效果了。
注:有兴趣的朋友可以到知识星球App完美Excel社群下载本文示例工作簿。
相关文章
- 【数字信号处理】卷积编程实现 ( Matlab 卷积和多项式乘法 conv 函数 | 使用 matlab 代码求卷积并绘图 )
- 【使用Python实现算法】03 标准库(数字与数学模块)
- 使用Redis实现延时任务的解决方案
- 用java实现linux上exe文件的版本号读取功能详解编程语言
- 使用Oracle软件快速实现数据库管理(oracle软件使用)
- 使用Linux实现无线数字信号处理(SDR)(Linuxsdr)
- 删除Java中使用Redis实现过期数据删除(redisjava过期)
- 策略Java使用Redis实现数据过期策略(redisjava过期)
- 巧用Oracle触发器类型:实现自动化控制(oracle触发器类型)
- 使用MySQL计算数据总和,轻松实现数据统计。(mysql计算总和)
- 使用SQL Server游标实现数据库操作(sqlserver游标实例)
- Linux 集群实现灵活弹性切换(linux集群切换)
- 「使用 Linux 实现无盘系统」(linux无盘系统)
- 使用SQL Server实现数字加法运算(sqlserver中加法)
- Oracle数据库中使用浮点数存储实现(oracle写浮点数)
- 构建使用Redis构建控制器,实现更高的效率(控制器如何用redis)
- MySQL实现三个表之间的关系添加中间表(mysql三表添加中间表)
- 构建高可用的Redis集群几种实现方案(几种redis集群方案)
- 使用Redis快速实现排行榜精准评分(使用redis实现排行榜)
- 在Oracle数据库中实现高效的并行写法(oracle中并行写法)
- ASP.NET中实现中文简/繁体自动转换的类
- 使用jscript实现二进制读写脚本代码
- asp.net中Datalist使用数字分页的实现方法
- 使用jQuery操作Cookies的实现代码
- PHP实现手机归属地查询API接口实现代码
- 使用javascript实现ListBox左右全选,单选,多选,全请