VBA工作表更改无法正常工作?

我在我的工作表中写了下面的代码,所有的范围都在这张表中。

Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("DistMatrix")) Is Nothing Then Dim out1() As Double out1 = OutStat(bucket(Target), Range("RegScale")) FwdOut = outright(bucket(Target), Range("RegScale")) Call NewScatter(FwdOut, out1) End If End Sub 

如果我在DistMatrix范围内select一个单元格,我想要运行一个被调用的子类。

这部分工作。 我必须点击范围内的一个单元格,就好像我想写入它,然后select另一个被调用的子程序来运行。

然而,我想要我select细胞后立即运行。 我不想去双击它,就像编辑它,然后select另一个它运行。

您可以改用Worksheet_SelectionChange

 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("DistMatrix")) Is Nothing Then Dim out1() As Double out1 = OutStat(bucket(Target), Range("RegScale")) FwdOut = outright(bucket(Target), Range("RegScale")) Call NewScatter(FwdOut, out1) End If End Sub