根据值自动填充date
代码的作用是:
在列C中input名称,date填入列K中。
其他:
- 在J列下拉可以“注册”或“locking”
- 当数据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属性的范围。 没有它,大量的空白单元格将在全柱式操作中循环。