如何显示内置Excel函数的进度条?

我有一个Excel表设置了大约40,000个值,需要通过用户窗体进行sorting。 为此,我用…

myTable.Sort.SortFields.Add Range(strSortBy), xlSortOnValues, xlDescending, xlSortNormal myTable.Sort.Apply 

…其中myTable是表格,strSortBy是我要sorting的列的标题。

现在,尽pipeExcel的快速sortingfunction,这个数据量开始花费足够长的时间(几秒钟),我想为用户提供某种进度反馈。 我在Excel中创build了几个用户窗体进度条,但是由于Sort是一个内置的 Excel函数,所以我看不到任何显而易见的显示或确定完成百分比的方法。

这是一个失败的原因? 或者有什么方法来确定内置函数的进度?

任何帮助是极大的赞赏。

我喜欢使用内置的状态栏function来显示进度。 这很简单,但function强大。

例:

 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 

在这个例子中,我可以循环遍历单元格,缩短每个单元格的长度。 在这样做的时候,我显示程序所在的单元格,因为这可能需要很长时间。

希望这可以帮助!