我有一些写入的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)? –