excel自动生成时间

有没有什么办法,在excel里建一个列a,任何一行的东西发生改变都会触发本行对应列a的单元格,列a内容是最后一次次编辑那一行时 的时间,要写宏,网上查了一段代码
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveSheet.Name <> "Sheet1" Then Exit Sub
If Target.Column = 3 Then Target.Offset(0, 1) = Now
End Sub
这里面的Then Target.Offset(0, 1) = Now怎么设置为在指定的某一列生成?

第1个回答  2013-09-17

你没表达清楚,你是不是想在修改行对应的A列天上修改时间啊

看代码吧。。。。放在对应sheet页内、、、、

Private Sub Worksheet_Change(ByVal Target As Range)

    '判断如果发生改变的单元格不在A列,则在对应的行上填写值
    If Target.Column <> 1 Then

        Cells(Target.Row, 1).Value = Now

    End If

End Sub

第2个回答  2013-09-17
右键SHEET名,查看代码
复制

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Target.Offset(0, 1) = Date
End If
End Sub

表示A列只要用数据输入,B列就自动出现日期,且不会随计算机系统日期改变而改变。
第3个回答  2013-09-17
If Target.Column = 3 Then Target.Offset(0, 1) = Now
改为
If Target.Column = 3 Then cells(Target.row,1) = Now ' 3 就是列c. 1就是列a
第4个回答  2013-09-17
If Target.Column = 3 Then Target.Offset(0, 1) = Now

Target.Column = 3是指选定的列 是 3
Target.Offset(0, 1) 是选定单元格 行位移为0,列往右位移 1列 (行位移正数向下,负数向上,列位移正数向右,负数向左)
第5个回答  2013-09-17
改成
cells(target.row,10)=now
10就是你定的列本回答被提问者采纳
相似回答