【发布时间】:2021-02-19 16:48:53
【问题描述】:
一旦单元格数据更改,我的 VBA 就不会运行。
在我的工作表上,我在 F 列和 G 列中运行了 VBA。
G 列有我想根据 F 列中输入的数值触发的数据验证。
示例:
F 列的数值为 2.5,这导致 G 列显示“信誉良好”。
如果我将 F 列值更改为
反之亦然,如果 F 列的值最初 2 G 列将显示“良好的信誉”。
Private Sub Worksheet_Change(ByVal Target As Range)
StrtRow = 2
EndRow = Range("F" & Rows.Count).End(xlUp).Row
For i = StrtRow To EndRow
If Range("F" & i).Value >= 2 Then
Range("G" & i).Value = "Good Standing"
End If
Next
End Sub
【问题讨论】:
-
当前,只要任何单元格在任何地方发生更改,您的代码都会遍历 F 中的每个单元格。您需要在代码中引用
Target,这是已更改的单元格。
标签: excel vba validation