Excel 2007 VBA:SelectionChange事件的性能

时间:2009-04-21 18:25:46

标签: performance vba excel-vba excel-2007 excel

有没有办法以任何有意义的方式提高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确保用户在选择下一个单元格之前必须等待,但不是我想到的。

任何提示都会有所帮助!

1 个答案:

答案 0 :(得分:1)

这对我来说很快。你在工作簿中还有很多其他计算吗?你用的是哪个版本?