通过修改停止时间自动更新

时间:2014-02-11 19:29:10

标签: excel vba excel-vba

我目前正在使用以下宏:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Long
x = Target.Row
If Target.Column = 2 Or Cells(x, 15) <> "" Or Target.Column = 3 Or Cells(x, 15) <> "" Then
Cells(x, 1) = time
Cells(x, 1).NumberFormat = "h:mm AM/PM"
End If
End Sub

这对我想要的电子表格在第一个实例中做的很好,但现在我需要更多的修改。 我想:

从单元格A1和A2中删除宏。

(可能是困难部分)一旦条目进入B列,如果需要进行修改(I.E发现拼写错误),时间戳将更新以反映最后一次更改。可以更改宏,以便在A列中输入的时间戳不会从B列中的第一个条目更改。

目前,如果在B列输入任何内容,宏会填充时间。我无法找到一种方法,不会在每次修改时“覆盖”时间。

希望你们能提供帮助。

非常感谢

1 个答案:

答案 0 :(得分:0)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Long
x = Target.Row
If Target.Column = 2 Or Cells(x, 15) <> "" Or Target.Column = 3 Or Cells(x, 15) <> ""   Then
    if Cells(x, 1) = "" then
        Cells(x, 1) = time
        Cells(x, 1).NumberFormat = "h:mm AM/PM"
    End If
End if
End Sub

你可以尝试这样的事情。