簡體   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