繁体   English   中英

如何显示内置Excel功能的进度栏?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM