我在VBA上有一個模塊,它基本上爲每個包含列中文本的單元格運行一個foreach循環。然後將每個單元格的內容複製到調用另一個函數的另一個工作表(DailyGet)中。從函數生成的內容被複制回原始表(我通過記錄一個宏爲此生成了代碼)。但是,由於在foreach循環中有很多單元需要處理,因此每次運行時宏之間都會進行切換,所以非常耗時。有什麼辦法可以加快這個過程嗎?Excel VBA在沒有切換表的foreach循環上運行宏
Sub DailyComposite()
Dim SrchRng As Range, cel As Range
Set SrchRng = Range("B2:B100")
For Each cel In SrchRng
If cel.Value <> "" Then
Worksheets("Calculations").Range("B1").Value = cel.Value
Sheets("Calculations").Select
Call DailyGet
Range("D3:Z3").Select
Application.CutCopyMode = False
Selection.copy
Sheets("Summary").Select
cel.Offset(0, 1).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
End If
Next cel
Sheets("Calculations").Select
Application.CutCopyMode = False
Range("A1").Select
Sheets("Summary").Select
Range("A1").Select
End Sub