EXCEL数字动画

03/01 17:38
阅读数 6

excel数字动画教程

今要教的是在EXCEL里,数字变化的动画

今天要做一个用EXCEL做数字动画,写这个教程的原因是,我儿子之前教他是scratch的编程,但是那个编程学后,对小孩来说入门很容易,但是后续我也不知道应该教什么好。而且scratch可视化编程,都是拖拉拽没有什么底层编程,所以我想找高级一点的编程。如果用C的话又太高级,小孩很难理解,而且没什么视觉效果,对小孩又太过枯燥,所以我想选了有EXCEL里做VBA编程,这次要实现的效果如下图:

画图原理说明

以画0为列说明:如上图,画0是先在N6:Q16画一个黑框,然后把黑框上的中间去掉颜色,0就画好了。

实现步骤

  • 设置列宽

  • 打开VBA编程页面

点击开发工具->Visual Basic打开

双击sheet1打开编程页面,并写入代码(代码见后续说明)

  • 画0代码说明:

'相关画0代码,第一行为N6到Q16画一个绿色的框,第二行是O7:P15将画的绿色擦除。

Range("N6:Q16").Interior.Color = vbGreen
Range("O7:P15").Interior.Pattern = xlNone

有人可能会问,我这里可以和写字一样,一笔笔画可以不,答案是:当然可以,但是大多数字会增加不少步骤,以0为例,以上方法只要两个步骤,但是一笔笔画要画4个步骤。但1例外。

  • 暂停代码说明

Sub stoptime()  '暂停1秒
 t = Timer
 While Timer < t + 1
   DoEvents
 Wend
End Sub

在代码中画每个字的中间需要暂停一段时间,不然由于程序执行太快,执行时只能看到最后一个字。以上代码是暂停一秒,大家也可以按照自已喜好修改暂停时间。另外暂停后,别忘记将前面的字给擦除掉,不然下个字跟上一个字就混在一起了。

'擦除整个画的区域颜色
Range("N6:Q16").Interior.Pattern = xlNone

  • 最后一步设置

回到页面,点击开发工具->插入->按钮

在EXCEL里画一个按钮,并选择动画代码

好了,动画做好了,点击下按钮欣赏下自已做的数字动画吧。

实现全部代码

Sub stoptime()  '暂停1秒
 t = Timer
 While Timer < t + 1
   DoEvents
 Wend
End Sub

Sub donghua()
   
   '对画的区域进行样式清空
   Range("N6:Q16").Interior.Pattern = xlNone
   stoptime
   
   '写0
   Range("N6:Q16").Interior.Color = vbGreen
   Range("O7:P15").Interior.Pattern = xlNone
   'Range("N12:P16").Interior.Pattern = xlNone
   
   stoptime
   Range("N6:Q16").Interior.Pattern = xlNone
   
   '写1
   Range("N6:O6").Interior.Color = vbRed
   Range("O7:O16").Interior.Color = vbRed
   Range("N16:P16").Interior.Color = vbRed
   
   stoptime
   ' Cells(row, col).Interior.Color = 5296274
   Range("N6:Q16").Interior.Pattern = xlNone
   
   '写2
   Range("N6:Q16").Interior.Color = vbBlue
   Range("N7:P10").Interior.Pattern = xlNone
   Range("O12:Q15").Interior.Pattern = xlNone
   
   stoptime
   Range("N6:Q16").Interior.Pattern = xlNone
   
   '写3
   Range("N6:Q16").Interior.Color = vbBlack
   Range("N7:P10").Interior.Pattern = xlNone
   Range("N12:P15").Interior.Pattern = xlNone
   
   stoptime
   Range("N6:Q16").Interior.Pattern = xlNone
   
   '写4
   Range("N6:Q16").Interior.Color = vbCyan
   Range("O6:P10").Interior.Pattern = xlNone
   Range("N12:P16").Interior.Pattern = xlNone
   
   stoptime
   Range("N6:Q16").Interior.Pattern = xlNone
   
   '写5
   Range("N6:Q16").Interior.Color = vbGreen
   Range("O7:Q10").Interior.Pattern = xlNone
   Range("N12:P15").Interior.Pattern = xlNone
   
   stoptime
   Range("N6:Q16").Interior.Pattern = xlNone
   
   '写6
   Range("N6:Q16").Interior.Color = vbGreen
   Range("O7:Q10").Interior.Pattern = xlNone
   Range("O12:P15").Interior.Pattern = xlNone
   
   stoptime
   Range("N6:Q16").Interior.Pattern = xlNone
   
   '写7
   Range("N6:Q16").Interior.Color = vbGreen
   Range("N7:P16").Interior.Pattern = xlNone
   'Range("N12:P15").Interior.Pattern = xlNone
   
   stoptime
   Range("N6:Q16").Interior.Pattern = xlNone
   
   '写8
   Range("N6:Q16").Interior.Color = vbGreen
   Range("O7:P10").Interior.Pattern = xlNone
   Range("O12:P15").Interior.Pattern = xlNone
   
   stoptime
   Range("N6:Q16").Interior.Pattern = xlNone
   
   '写9
   Range("N6:Q16").Interior.Color = vbGreen
   Range("O7:P10").Interior.Pattern = xlNone
   Range("N12:P16").Interior.Pattern = xlNone
   
   stoptime
   Range("N6:Q16").Interior.Pattern = xlNone
   
End Sub

如果决定我的教程有用,就扫描一下二维码关注我,后续会有更多简单好学的编程。

本文分享自微信公众号 - 软件老王(ruanjianlaowang_pub)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部