EXCEL VBA中 FOR循环中为何无法动态输出Label值
PrivateSubCommandButton1_Click()Fori=1To1000Range("a"&i).Value=iLabel1.Caption=iTextB...
Private Sub CommandButton1_Click()
For i = 1 To 1000
Range("a" & i).Value = i
Label1.Caption = i
TextBox1.Text = i
'MsgBox i
Next i
End Sub
比如说我要在VBA窗体中的Label1中动态输出变量I的数值,但是为何只会显示最后哪个数值呢,换文本框也一样。
但是加了一个'MsgBox 消息框,就会同步输出了,但是每次都要点击确定按钮。
到底为何不能同步显示到标签框中阿。。。。。。。。。。 展开
For i = 1 To 1000
Range("a" & i).Value = i
Label1.Caption = i
TextBox1.Text = i
'MsgBox i
Next i
End Sub
比如说我要在VBA窗体中的Label1中动态输出变量I的数值,但是为何只会显示最后哪个数值呢,换文本框也一样。
但是加了一个'MsgBox 消息框,就会同步输出了,但是每次都要点击确定按钮。
到底为何不能同步显示到标签框中阿。。。。。。。。。。 展开
展开全部
程序运行速度是很快的,像这种1000次的循环,完成的时间几段,所以在Label1中看到的是最后一个数值
加入MsgBox后,每次运行到MsgBox这行,在没有关闭消息框时,MsgBox之后的代码并不会运行,所以可以看到同步输出。
加入MsgBox后,每次运行到MsgBox这行,在没有关闭消息框时,MsgBox之后的代码并不会运行,所以可以看到同步输出。
追问
不是阿,我只是举了个简单的例子,实际运用中条目数很大,程序并没有怎么快,但是就是只显示结果数,中间的数字过程不会自动更新统计阿。比如说有几万条数据需要查找重复,在这个过程中很慢的,但是数字就是不显示,除非全部完成后显示结果.
追答
Label1刷新是需要一定时间的,如果还没有刷新完成就再次开始重置Caption,那么就会继续刷新,如此,直到完成一次完整的刷新过程,你才看得到实时的变量值,另外,几万条数据的遍历循环也是很快的,除非查找时需要进行大量的耗时计算,否则也是一闪而过的事情。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询