excel - 一次显示一个数字的总和
问题描述
作为非专家,我正在使用 VBA 在 Excel 上为孩子们创建数学练习。这个想法是在屏幕上显示数字的总和,例如 3+5+2,但我希望数字一次出现一个,每个数字之间有 2 秒的停顿。此外,出现的每个数字都会替换屏幕上的前一个数字。具体...
- “3”出现 2 秒然后消失
- "+5" 出现 2 秒然后消失
- "+2" 出现 2 秒然后消失
我尝试了两种失败的方法:
使用多个长循环在每个数字之间“浪费”时间
Range("A1").Value = "3" for a=1 to 20 for b=1 to 10000 for c=1 to 10000 Next Next Next Range("A1").Value = "'" & "+5" 'etc
(我不能写一个像 100000000 这样的大数字,这就是为什么我必须做多个循环)
使用等待应用程序
Range("A1").Value = "3" Application.Wait (Now + TimeValue("00:00:02")) Range("A1").Value = "'" & "+5" Application.Wait (Now + TimeValue("00:00:02")) Range("A1").Value = "'" & "+2" Application.Wait (Now + TimeValue("00:00:02")) Range("A1").Value = ""
在这两种情况下,该过程都在逐步执行(使用 F8)中工作,但在正常执行时表现得很奇怪......数字大多不出现,有时会出现,我不知道为什么。我尝试了更大的等待值,但数字仍然没有出现。我没有尝试过 sleep 应用程序,因为我想了解这里发生了什么。
如果我的问题写得不好/表述不好,我提前道歉。
解决方案
这对我有用。
Sub MathGame()
Dim numberOfInputs As Integer
numberOfInputs = 2
For i = 0 To numberOfInputs
Range("A1") = Range("A1") & " + " & WorksheetFunction.RandBetween(1, 9)
Application.Wait (Now + TimeValue("00:00:02"))
Next i
End Sub
要增加或减少难度,您可以:
- 更新
numberofInputs
- 更新参数
RandBetween
推荐阅读
- c# - 如何为 TSP 生成随机坐标?
- node.js - 用node js和socket io创建通知系统的正确方法是什么
- grafana - 如何在 grafana 中为每个分组添加一行而不对多个查询进行硬编码?
- javascript - Tampermonkey 中的“即时注入”如何工作?
- c# - 扩展 GenericRepository 以在控制器中使用
- sql - 如何从PostgreSQL中的字符串中找到最后一个单词的起始位置
- flask - Job中Sqlalchemy查询时的Flask APScheduler keyerror
- batch-file - 批量打开文件夹,调整大小和位置
- graphql-mesh - 如何控制 graphql-mesh 中的字段命名?
- php - 如何从数组php中只获取一个元素