根据值自动填充date

代码的作用是:

在列C中input名称,date填入列K中。

其他:

  1. 在J列下拉可以“注册”或“locking”
  2. 当数据inputC列时,它自动填充J列中的“注册”

这里是代码:

'Adds date when borrower name is entered Private Sub Worksheet_Change(ByVal Target As Range) Dim A As Range, B As Range, Inte As Range, r As Range Set A = Range("C:C") Set Inte = Intersect(A, Target) If Inte Is Nothing Then Exit Sub Application.EnableEvents = False For Each r In Inte If r.Offset(0, 8).Value = "" Then r.Offset(0, 8).Value = Date End If Next r Application.EnableEvents = True End Sub 

我得到了这个代码: 当用户在相邻单元格中input信息时,自动填充单元格中的date

我想要的代码是:

如果列J是“注册”,则将列date添加到列K(目前是)

如果J列更改为“locking”,则向列L添加date

将目标大小调整为两列,然后添加“注册”以及date。

 Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Columns(3), Target) Is Nothing Then On Error GoTo bm_SafeExit Application.EnableEvents = False Dim C As Range For Each C In Intersect(Columns(3), Target, Target.Parent.UsedRange) If IsEmpty(C.Offset(0, 8)) Then C.Offset(0, 7).Resize(1, 2) = Array("registered", Date) End If Next C End If bm_SafeExit: Application.EnableEvents = True End Sub 

我发现,如果要处理多个目标单元格(例如,从粘贴操作),那么通过目标和预定列相交的循环也应该被削减到Worksheet.UsedRange属性的范围。 没有它,大量的空白单元格将在全柱式操作中循环。