仅当下一列字段为空时,VBA才会使用excel更新字段

问题描述 投票:0回答:1

下面的代码在J列中自动输入日期,如果在第I列中写入任何值,我们如何添加条件:如果J已经有值,什么都不做?

Private Sub Worksheet_Change(ByVal Target As Range)


If Not Intersect(Target, Range("I:I")) Is Nothing Then
      Range("J" & Target.Row).Value = Now

End If

End Sub
excel vba
1个回答
1
投票
Private Sub Worksheet_Change(ByVal Target As Range)

    Dim rng as Range, c As Range
    Set rng = Application.Intersect(Target, Me.Range("I:I"))
    If Not rng Is Nothing Then
        for each c in rng.cells
            with c.offset(0, 1)
                if len(.value) = 0 then .value = now
            end with
        next c
    End If   

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.