[英]How can I display a progress bar for a built-in Excel function?
我有一个Excel表格,其中设置了大约40,000个值,需要通过用户表单进行排序。 为此,我使用了...
myTable.Sort.SortFields.Add Range(strSortBy), xlSortOnValues, xlDescending, xlSortNormal
myTable.Sort.Apply
...其中myTable是表,而strSortBy是我要作为排序依据的列的标题。
现在,尽管Excel具有闪电般的快速排序功能,但由于有了如此大量的数据,它开始花费的时间足够长(几秒钟),因此我想向用户提供某种进度反馈。 我在Excel中制作了几个用户窗体进度栏,但是由于Sort是内置的 Excel函数,因此我看不到任何明显的方式来显示或确定完成百分比。
这是一个迷失的原因吗? 还是有某种方法可以确定内置函数的进度?
任何帮助是极大的赞赏。
我喜欢使用内置的状态栏功能来显示进度。 它非常简单,但功能强大。
例:
Application.StatusBar = "Renaming Cells"
While count2 <= (count1)
DoEvents
Length = Len(Range("C" & CStr(count2)).Value)
Newlength = Length - 2
newID = Left(Range("C" & CStr(count2)).Value, Newlength)
Range("C" & CStr(count2)).Value = newID
count2 = count2 + 1
newID = vbNullString
Application.StatusBar = "Editing Cell: " & count2 & " of " & count1 & "."
Wend
在示例中,我可以遍历单元格,缩短每个单元格的长度。 这样做时,我会显示程序所在的单元格,因为这可能需要很长时间。
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.