有没有办法以任何有意义的方式提高Excel中以下VBA代码的性能?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Me.Range("Group1"), Target) Is Nothing Then
With wksData
.Range("Group1Column").Value = Target.Column
.Range("Group1Row").Value = Target.Row
End With
End If
End Sub
我添加了条件格式,用于查看Group1Column和Group1Row命名范围。我不知道我的性能问题是否与SelectionChange的过度杀伤或条件格式有关,但是我有一个明显的延迟,我想摆脱它。
条件格式是超级基本的(比如Column($ D3)= Group1Column),它只是为了'眼睛糖果'的目的,但它对整个解决方案有帮助。
我尝试过的一些事情:.ScreenUpdating,.EnableEvents,.Calculations。 .ScreenUpdating确保用户在选择下一个单元格之前必须等待,但不是我想到的。
任何提示都会有所帮助!
答案 0 :(得分:1)
这对我来说很快。你在工作簿中还有很多其他计算吗?你用的是哪个版本?