gpt4 book ai didi

VBA Excel 进度条表单不更新。我可以放慢处理速度吗?

转载 作者:行者123 更新时间:2023-12-03 02:21:49 25 4
gpt4 key购买 nike

我有一个工作簿,从服务器加载数据大约需要 2-4 分钟,我想实现一个用户窗体进度条。我发现了许多关于如何创建这些进度条的优秀网站。我创建了一个当我在 Debug模式下单步调试程序并在条大小增加之前中断时可以工作的程序,但是当我在不添加调试中断的情况下运行它时,进度条开始更新,但它最终陷入困境并且不再有屏幕更新发生在工作簿上的任何位置,直到完成加载。

我已将屏幕更新打开为工作簿加载时的第一行。每次进度条宽度增加后我都会执行事件。我以无模式方式打开进度条窗体。但工作簿似乎仍然因数据处理而超频,失去了对工作簿的关注,并使其进入休眠状态(没有屏幕更新,鼠标指针处于沙漏模式)。

在发布一些代码之前,我想知道是否可以添加任何快速命令来减慢数据的处理速度,或者可能导致进度条用户窗体等待一两秒以使其“ catch ” '?

谢谢!

最佳答案

这通常对我有用(注意.Repaint):

Public Sub updateProgressBar(ByVal whatPercent As Double, ByVal slowIt As Integer)
Dim outputPercentage As Integer, newWidth As Integer

If whatPercent > 1 Then whatPercent = 1
outputPercentage = CInt(whatPercent * 100)
newWidth = CInt(whatPercent * maxWidthBar)
With ProgressBar
.LabelProgress.Width = newWidth: .LabelProgress.Caption = outputPercentage & "%": .Repaint
End With
delay slowIt

End Sub


'To create a delay
Public Sub delay(ByVal sec As Integer)
Dim strT As String, strSecsDelay As String

strT = Mid(CStr(100 + sec), 2, 2)
strSecsDelay = "00:00:" & strT
Application.Wait (Now + TimeValue(strSecsDelay))

End Sub

关于VBA Excel 进度条表单不更新。我可以放慢处理速度吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51427000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com