Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 将数据粘贴到其他列时自动在单元格中输入日期_Excel_Vba_Excel Formula - Fatal编程技术网

Excel 将数据粘贴到其他列时自动在单元格中输入日期

Excel 将数据粘贴到其他列时自动在单元格中输入日期,excel,vba,excel-formula,Excel,Vba,Excel Formula,我试图找到一个VBA代码,当数据复制并粘贴到同一行的C-L列时,该代码将自动在a列中输入当前日期 当我将数据手动写入C列时,我知道了如何自动输入日期,但当我将数据粘贴到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(&qu

我试图找到一个VBA代码,当数据复制并粘贴到同一行的C-L列时,该代码将自动在a列中输入当前日期


当我将数据手动写入C列时,我知道了如何自动输入日期,但当我将数据粘贴到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)时,日期自动显示


谢谢大家!

如果您寻求的是VBA解决方案,则可以在您的专用Sub中指定整个范围C:L。以下代码假定您只希望填写a列中空白的单元格,从A2开始:

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

您可以这样做-只需更新正在检查的范围:

Private子工作表\u更改(ByVal目标作为范围)
变暗rng As范围,rw As范围
Set rng=Application.Intersect(目标,Me.Range(“C:L”))
'目标范围内有跟踪的单元格吗?
如果不是,那么rng什么都不是
设置rng=rng.Entirerow
对于rng.Rows中的每个rw,循环更新了行
rw.单元格(1)=日期“放入可乐中的日期”
下一个rw
如果结束
端接头

“当我手动将数据写入C列时,我知道了如何自动输入日期”-如果您将为此编写的代码(而不是OP要求的代码)包括在内,则会对您的问题有所帮助。当数据复制并粘贴到同一行的C-L列时,请在A列中输入当前日期。@chris neilsen您说得对!我(错误地)假设数据是连续的,而不是过度写入的。谢谢你的提醒。