VBA 工作表更改工作不正常?

VBA Worksheet Change is not working properly?

我在工作中写了以下代码sheet,所有范围都在同一个 sheet。

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 范围内选择一个单元格,我想 运行 调用一个子单元。

部分有效。我必须单击该范围内的一个单元格,就像我想在其中写入一样,然后再选择另一个单元格作为 运行.

的调用子单元

不过,我希望在我选择单元格后立即转入 运行。我不想去必须双击它,就好像它要编辑它,然后为它选择另一个 运行。

您可以改用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