2014-10-08 79 views
-1
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()) 

的问题是,一旦我做出一个新条目中的每个条目日期是根据自动更新到当前日期。所以我想先前的入门日期不应该改变

+0

选择,复制,粘贴特殊值。 – GSerg 2014-10-08 08:15:50

+0

http://chandoo.org/wp/2009/01/08/timestamps-excel-formula-help/ – 2014-10-08 08:16:44

回答

0

如果你已经阅读了上面的文章,你应该有一个好主意,你需要什么是生成一个静态日期/时间到您的输入工作表。下面是一个例子,它可以将许多值复制到列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金额值。

我已经添加了一个注释行,将日期和时间放入列A中,而不仅仅是日期。如果您选择使用它(删除单引号),请删除仅放置日期的行。

+0

我得到了我所期望的,但是当我关闭工作簿时,它不工作。任何解决方案 – yogogeri 2014-10-10 07:48:14

+0

@yogogeri - 如果您将上面的代码添加到工作表代码表,那么工作簿必须保存为*启用宏的工作簿*或*二进制工作簿*。标准工作簿(XLSX)不能保留宏代码或VBA项目。 FWIW,当您保存工作簿并关闭它时,您应该已收到警告。 – Jeeped 2014-10-10 07:55:48