Columns("DV").Cut
Columns("P").Insert Shift:=xlToRight
我使用上面的代碼基本上移動一列,但每次運行宏時,它會減慢這一過程。有沒有更有效的方式來做到這一點,所以我的宏沒有陷入困境?切割一個列,然後插入excel vba
謝謝。
Columns("DV").Cut
Columns("P").Insert Shift:=xlToRight
我使用上面的代碼基本上移動一列,但每次運行宏時,它會減慢這一過程。有沒有更有效的方式來做到這一點,所以我的宏沒有陷入困境?切割一個列,然後插入excel vba
謝謝。
你可以嘗試在宏觀的開頭插入該行:
Application.Calculation = xlCalculationManual
,並在末尾插入這樣的:
Application.Calculation = xlCalculationAutomatic
如果你在你的數據有很多公式在宏運行時嘗試重新計算它。以上幾行將告訴Excel在宏運行期間不計算。
這並未影響宏。宏首先粘貼值,然後創建副本,然後移動副本上的列,以便沒有必須重新計算的公式。 – user3562334 2014-09-02 23:02:39
你處理了多少行和列?因爲你要去DW,所以我假設很多。答案可能是逐步複製,而不是製作一個大副本,然後移動數據。 IE _Columns(「A:O」)。複製表單(yourSheet).Columns(「A:O」)_,然後_Columns(「DV」)。複製表單(yourSheet).Columns(「P」)_,然後_Columns (「P:DV」)。複製表格(yourSheet).Columns(「Q:DW」)_等等*編輯*此解決方案需要製作新的空白表格以將數據複製到第一個表格中。 – 2014-09-02 23:27:58
讓我也做一個更新,說宏先創建一個副本,然後在副本內我的副本執行上述代碼。 – user3562334 2014-09-02 22:59:40
你的完整代碼是什麼? – brettdj 2014-09-03 04:09:49