2014-09-02 30 views
-2
Columns("DV").Cut 
Columns("P").Insert Shift:=xlToRight 

我使用上面的代碼基本上移動一列,但每次運行宏時,它會減慢這一過程。有沒有更有效的方式來做到這一點,所以我的宏沒有陷入困境?切割一個列,然後插入excel vba

謝謝。

+0

讓我也做一個更新,說宏先創建一個副本,然後在副本內我的副本執行上述代碼。 – user3562334 2014-09-02 22:59:40

+0

你的完整代碼是什麼? – brettdj 2014-09-03 04:09:49

回答

1

你可以嘗試在宏觀的開頭插入該行:

Application.Calculation = xlCalculationManual 

,並在末尾插入這樣的:

Application.Calculation = xlCalculationAutomatic 

如果你在你的數據有很多公式在宏運行時嘗試重新計算它。以上幾行將告訴Excel在宏運行期間不計算。

+1

這並未影響宏。宏首先粘貼值,然後創建副本,然後移動副本上的列,以便沒有必須重新計算的公式。 – user3562334 2014-09-02 23:02:39

+0

你處理了多少行和列?因爲你要去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

相關問題