我在VBA
中运行代码来测试右边的单元格是否小于0,如果是,则测试活动单元格0.这应该在输入单元格时运行。这是我到目前为止所做的:
Private Sub worksheet_change(ByVal target As Range)
If Not Intersect(target, Range("c7:c27")) Is Nothing Then isNegative
End Sub
然后
Sub isNegative()
Dim cell As Range
If ActiveCell.Offset(1, 0).Value < 0 Then
ActiveCell.Value = 0
End If
End Sub
但是,我假设发生的事情是它在计算之前检查数据。我该如何解决这个问题?
答案 0 :(得分:2)
这应该在输入单元格时运行。
喜欢这个吗?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim aCell As Range
If Not Intersect(Target, Range("C7:C27")) Is Nothing Then
For Each aCell In Range("C7:C27")
If aCell.Offset(1, 0).Value < 0 Then aCell.Value = 0
Next
End If
End Sub