2014-10-08 80 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