我有一些寫入的VBA代碼運行速度很慢。我的代碼中有一系列不同的循環。我知道循環並不總是最有效的操作數據的方式,所以我認爲它們是問題。我需要如何改變循環或消除它的想法,這樣我可以加快我的代碼的運行時間。消除/改變一個循環來加速代碼
下面是我創建的最活躍的循環。它貫穿D行的所有單元格(從D2開始),並根據第1行單元格中的條目操縱它們的值。如果我可以在此循環中獲得幫助,我可能會使用類似的技術來更改我的代碼中的其他循環。任何提示都表示讚賞。
'sub work week for date range
Range("D2").Select
Do Until IsEmpty(ActiveCell.Value)
If IsEmpty(ActiveCell.Offset(-1, 0)) = False Then
ActiveCell.Value = ActiveCell.Offset(-1, 0).Value & "-" & Right(ActiveCell.Value, 4)
Else: ActiveCell.Value = ActiveCell.Value & "-" & Right(ActiveCell.Offset(0, -1), 4)
End If
ActiveCell.Offset(0, 1).Select
Loop
使用數組和循環通過這些。 –
正如@Scott所說 - 不是指單元格,而是將這些值拉入數組並循環。 _它正在運行D_行上的所有單元格 - 是否真的需要循環16384單元格(如果在Excel 2003上,則是256)? –