2012-02-02 83 views
2

我真的不知道這是否是一個編程問題,但我相信你們中的一個人可以輕鬆地幫助我解決這個問題。Excel(2003) - 單元格上的自動插入日期

我想在Excel中創建一個自動的「插入日期」函數。即當一個人在我的Excel文檔中的一行中輸入數據時,我希望另一個單元自動顯示插入日期。

細胞我試圖顯示日期站在裏面,我寫了以下內容:

=IF(ISBLANK(C20);1;TODAY()) 

這個偉大的工程,直到我打開它後的第二天。顯然它會將日期設置爲「今天」,但如果我希望它只更新一次,在插入時 - 我該如何做?

想像這樣(Java - 僞)。

IF(!OTHER.CELL.ISBLANK() && THIS.CELL.ISBLANK()){ 
    THIS.CELL = TODAY(); 
} 

現在,如何在Excel中做到這一點?

在此先感謝。

回答

6

你會使用Worksheet_Change事件

  1. 右鍵單擊工作表標籤
  2. 查看 - 代碼
  3. 複製並粘貼到下面的代碼

此代碼

  • 跟蹤和更改爲colu所述Activesheet
  • 放在當前數據與用戶登錄名稱給每個對應的小區塔d爲在這條線 Set rng1 = Intersect(Range("C:C"), Target)

    Application.EnableEvents = False指定

僅改變列C細胞被捕獲的Mn C爲用於停止代碼時列d被寫入

你可以輕鬆地適應這
1再燒製)寫入不同的(也許是隱藏的)記錄表
2)寫入一個文本文件,而不是

請讓我知道,如果你想要的任何更新

Private Sub Worksheet_Change(ByVal Target As Range) 
Dim rng1 As Range 
Set rng1 = Intersect(Range("C:C"), Target) 
If rng1 Is Nothing Then Exit Sub 
Application.EnableEvents = False 
rng1.Offset(0, 1).Value = Now() & " - " & Environ("username") 
Application.EnableEvents = True 
End Sub 

enter image description here

+1

完美!我必須贊同徹底的答案,從Excel的屏幕。 :) – Joppe 2012-02-02 11:19:26