Excel VBA - 为每个其他列或行添加日期戳

时间:2017-08-16 10:40:27

标签: excel excel-vba excel-formula vba

基本上它是一件非常简单的事(我想),但我似乎无法得到它!

基本上我正在构建一个跟踪器,每当修改一个单元格时我都需要一个日期戳。我可以输入代码,以便当b列中的任何内容被修改为在C列中放置日期时,但我不能重复放入D列中的数据以在列E中输入日期。

基本上我想在每个其他列中都有一个日期戳。如果更容易成为其他所有行,那么我只会改变标题。

如果它的行必须从第2行(标题)中放入的数据开始,如果它的列数据从列B放入(标题再次出现)。

有人可以帮忙吗?我在网上看过,但似乎找不到答案...

2 个答案:

答案 0 :(得分:1)

检查此基于事件的宏:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column Mod 2 = 0 Then
        Application.EnableEvents = False
        Target.Offset(0,1) = Date
        Application.EnableEvents = True
    End If
End Sub

答案 1 :(得分:0)

使用Worksheet_Change - 事件(特定单元格here的另一个好例子)。

根据您的需要,您可以执行以下操作:

Private Sub Worksheet_Change(ByVal Target As Range)
  Application.EnableEvents = False
  Cells(1, Target.Column + 1).Value = Format(Now(), "dd.mm.yyyy")
  Application.EnableEvents = True
End Sub

在插入任何值之前设置.EnableEvents = False很重要,否则它会再次触发事件。