如何解决将数据粘贴到其他列时自动将日期输入到单元格中
我正在尝试找到一个VBA代码,当将数据复制并粘贴到同一行的C-L列时,该代码会自动在A列中输入当前日期。
当我将数据手动写入C列时,我想出了如何自动输入日期,但是当我将数据粘贴到以下位置时,这将不起作用:
Private Sub Workbook_SheetChange(ByVal Sh As Object,ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target,Range("C:C")) Is Nothing Then
With Target(1,-1)
.Value = Date
.EntireColumn.AutoFit
End With
End If
End Sub
我还希望在将数据输入到C以外的其他列(例如D-L)中时自动显示日期。
谢谢大家!
解决方法
您可以这样做-仅更新要检查的范围:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range,rw As Range
Set rng = Application.Intersect(Target,Me.Range("C:L"))
'any tracked cells in Target range?
If Not rng Is Nothing Then
Set rng = rng.Entirerow
For Each rw In rng.Rows 'loop updated rows
rw.Cells(1) = Date 'put date in ColA
Next rw
End If
End Sub
,
如果您要查找的是VBA解决方案,则可以在Private Sub中指定整个范围C:L。以下代码假定您只想填充从A2开始在A列中为空白的单元格:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim LastRow as Long
If Not Intersect(Range("C:L"),Target) Is Nothing Then
LastRow = Range("C:L").SpecialCells(xlCellTypeLastCell).Row
Range("A2:A" & LastRow).SpecialCells(xlCellTypeBlanks).Value = Date
End If
End Sub
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。