VBA代码性能问题

我正在使用VBAmacros来插入一列,从而它在A列中search文本字符。我的代码正确运行。 但是,该文件看起来像是要崩溃了。 我将build立在macros观上,并希望它运行顺利。 有没有一种方法来优化我的代码

码:

Sheets("Annual Rec").Select Columns("B:B").Select Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove Selection.NumberFormat = "General" Range("B2:B" & Range("A" & Rows.Count).End(xlUp).Row).Formula = "=ISTEXT(RC[-1])" Range("B2:B" & Range("A" & Rows.Count).End(xlUp).Row).Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False 

下面的代码和你的一样,只是没有不必要的SelectSelection

 Option Explicit Sub CopyColPasteVal() Application.ScreenUpdating = False With Sheets("Annual Rec") .Columns("B:B").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove .Columns("B:B").NumberFormat = "General" With .Range("B2:B" & .Range("A" & .Rows.Count).End(xlUp).Row) .Formula = "=ISTEXT(RC[-1])" .Copy .PasteSpecial xlPasteValues End With Application.CutCopyMode = False End With Application.ScreenUpdating = True End Sub 

尝试这个:

 Application.ScreenUpdating = False 'your code Application.ScreenUpdating = True 

而避免Select语句,它们很慢。