日期功能无需根据重新计算的当前日期进行更新

时间:2014-10-08 08:10:02

标签: excel

ENTRY DATE           DES          AMOUNT
1-Oct-14              A            100
3-Oct-14              B             50
4-Oct-14              M             25
8-Oct-14              F             25

我使用此功能格式化了输入日期列:

=IF(B2&C2="", " ", TODAY())

问题是,一旦我创建一个新条目,每个条目日期将根据当前日期自动更新。所以我希望以前的参赛日期不应该改变

1 个答案:

答案 0 :(得分:0)

如果您已查看过上述文章,则应了解在输入工作表中生成静态日期/时间所需的内容。这是一个将许多值复制到B& B列中的例子。 C以及控制可能出现的任何错误。

要将此功能合并到输入工作表中,请右键单击底部的工作表的名称标签,然后选择View Code。当VBE打开时,将以下内容粘贴到标题为 Book1 - Sheet1 - (代码)的窗格中。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Columns("B:C")) Is Nothing Then
        On Error GoTo FallThrough
        Application.EnableEvents = False
        Dim t As Range
        For Each t In Intersect(Target, Columns("B:C"))
            If Application.IsText(Cells(t.Row, 2)) And _
              IsNumeric(Cells(t.Row, 3)) And Not IsEmpty(Cells(t.Row, 3)) Then
                Cells(t.Row, 2) = UCase(Cells(t.Row, 2).Value)
                Cells(t.Row, 1) = Date
                'Cells(t.Row, 1) = now
            Else
                Cells(t.Row, 1).ClearContents
            End If
        Next t
    End If
FallThrough:
    Application.EnableEvents = True
End Sub

点按Alt+Q返回工作表。您可以立即开始输入 DES Amount 值。

我添加了一条注释行,将日期和时间放入A列而不仅仅是日期。如果您选择使用它(删除单引号),请删除上面只显示日期的行。