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