Excel的VBA状态栏属性
在Excel VBA应用程序对象的状态栏属性可以被用来指示一个冗长宏的进度。通过这种方式,可以让用户知道宏仍在运行。
现状:
用随机数(“E20 A1”),我们将要创建的宏填充范围。
添加以下代码行到命令按钮:
1.首先,我们声明Integer类型,命名为i,j和pctCompl的三个变量。
Dim i As Integer, j As Integer, pctCompl As Integer
2.添加双环。
For i = 1 To 20 For j = 1 To 5 Next j Next i
添加以下代码行(在图3,4和5)的回路。
3.使用RANDBETWEEN函数进口20和100之间的随机数
Cells(i, j).Value = WorksheetFunction.RandBetween(20, 100)
4.初始化变量pctCompl。第二个代码行写入可变pctCompl和在状态栏一些描述性文字的值。
pctCompl = (i - 1) 5 + (j 1) Application.StatusBar = "Importing Data.. " & pctCompl & "% Completed"
例如:对于i = 3,J = 1,(3 – 1)5 +(1 1)= 11%已经完成。
5.我们使用Application对象的wait方法来模拟一个漫长的宏。
Application.Wait Now + TimeValue("00:00:01")
6.要恢复默认状态栏文本,设置状态栏属性设置为False(外循环)。
Application.StatusBar = False
结果当您单击工作表上的命令按钮:
中断宏在按Esc键或Ctrl + Break任何时候。为了更直观的方式,请参阅我们的’链接:/ VBA的例子正在进行指示灯[进度指示器]程序。