EXCEL数字动画
共 3262字,需浏览 7分钟
·
2021-03-02 09:15
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
如果决定我的教程有用,就扫描一下二维码关注我,后续会有更多简单好学的编程。