2012-09-22 69 views
0

我有一個按日期排序的電子表格。每天,我都會輸入新的數據。每天之後,我會在第二天開始前留下一行空白。例如:如果上一行爲空,則自動填充當前日期

20.09.12 XXXXX XXXXX XXXXX XXXX 
     XXXXX XXXX XXXXX XX 
     XX XXXXX XX XXXX 

21.09.12 XXX XXXXX XXX XXXX 
     X  XXXX XXXX XXX 

22.09.12 XXXX XX XXXX XXXX 

所以我希望Excel總是在當前日期填寫,每當我一個空白行後輸入數據,但很明顯的日期應保持不變 - 不進行更新,以每當我打開Excel當前日期。我使用的是Excel 2007,雖然非vba的想法是首選,但vba也不是問題!

回答

1

下面是使用工作表的Worksheet_Change事件來處理VBA的一種相當簡單的(原始?)方法。

有效,就看每次更改它檢查細胞時,如果上面的整個行是空白的,如果是這樣,把今天的日期在A列

Private Sub Worksheet_Change(ByVal Target As Range) 
    If WorksheetFunction.CountA(Rows(Target.Offset(-1, 0).Row)) = 0 Then 
     Range("A" & Target.Row) = Format(Now(), "dd.mm.yy") 
    End If 
End Sub 
+1

好主意,但爲了使它工作,從'CountA(選擇......)中刪除'Selection.' –

+0

謝謝Chris。好點。 –

2

有用於插入當前日期的快捷方式:Ctrl;
我想如果你使用快捷方式,你可能不需要一個宏。

時間類似的快捷方式是Ctrl鍵移位;

+0

+ 1爲非VBA解決方案:) BTW很高興在這裏見到你;) –

相關問題