由VAL作为目标范围变化忽略空白和0值的细胞(Change by val target as ran

2019-10-30 06:53发布

Private Sub Worksheet_Change(ByVal Target As Range)

Dim c As Range

For Each c In Target.Cells
   **If c.Value <> Empty Or c.Value = 0 Then
   End If**
   If c.Column = 11 Then
   c.Offset(0, -1).Value = Now()

 End If
 Next c

End Sub

我上面的代码工作很好,除了我试图添加粗体代码忽略任何空白单元格(也可能是忽略0值单元格的选项,但不是必要的)。

谢谢

Answer 1:

你似乎有你的两个参数会以不同的方式,在你混为一谈<> Empty=0在同一个测试。

无论如何,这使得改变,如果有什么东西在细胞之外0,并作为奖金,清除更改,如果它是空的或0。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range

Application.EnableEvents = False
For Each c In Target.Cells
    If c.Column = 11 Then
        If c.Value = "" Or c.Value = 0 Then
            c.Offset(0, -1).ClearContents
        Else
            c.Offset(0, -1).Value = Now()
        End If
    End If
Next c
Application.EnableEvents = True
End Sub


Answer 2:

If c.Value != ""

应该工作的空白单元格。

至少它的工作在这里 。

至于忽略值0,不能你刚才if子句改变if c.Value > 0



文章来源: Change by val target as range to ignore blank and 0 value cells