簡體   English   中英

Excel / VBA性能

[英]Excel/VBA performance

我在Range(“ E10001:E20000”)中有一組特定的公式,希望將總共1M單元格復制到Columns(“ F:CZ”)中。 選項:

  1. 范圍(“ E10001:E20000”)。復制
    范圍(“ F10001:CZ20000”)。粘貼特殊xlPasteAll
  2. Range(“ F10001:CZ20000”)。formula = Range(“ E10001:E20000”)。formula
  3. 范圍(“ E10001:CZ20000”)。fillRight
  4. 范圍(“ E10001:CZ20000”)。選擇
    在Excel中按Ctrl + R

最后,為了使表格更輕巧,我將公式替換為Values Range(“ F10001:CZ20000”)。Value = Range(“ F10001:CZ20000”)。Value

我注意到的是,選項4比其他選項快得多。 誰能解釋前三個選項中的性能損失。 請注意,我不熟悉時間功能,無法使用秒時鍾進行物理測量。

簡短答案: 不要將快捷方式與SendKeys方法一起使用!
更長的答案:快捷方式可能會導致意外的結果,在我的本地設置中,“ ^ r”會(開始)插入表格。
在代碼的開始處隨意使用帶有starttime = Now的計時器

timetaken = Now - starttime
MsgBox (Hour(timetaken) & ":" & Minute(timetaken) & ":" & Second(timetaken))

衡量性能。
根據經驗,與系統時間相比,您所花費的時間值得多得多,並且由於意外發送錯誤的指令集而破壞數據的風險絕對不值得。
您對2×10,000單元的操作不值得優化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM