VBA實現輸入金額得到輸入時間

發表于:2007-07-14來源:作者:點擊數: 標簽:
有一位網友問我,他遇到了一個問題,就是在每次輸入一個單元格的時候就自動讓它在鄰近的單元格中,輸入當前的輸入日期及時間,(精確到秒如下表所示,只用我輸入金額立即在相鄰的修改日期單元格內,顯示當期的時間?。?為了解決這個問題我,選用了EXCEL97中
有一位網友問我,他遇到了一個問題,就是在每次輸入一個單元格的時候就自動讓它在鄰近的單元格中,輸入當前的輸入日期及時間,(精確到"秒"如下表所示,只用我輸入"金額"立即在相鄰的"修改日期"單元格內,顯示當期的時間?。?

為了解決這個問題我,選用了EXCEL97中的事件,就是如果使用Private Sub Worksheet_Change(ByVal Target As Range)事件,這個事件就是在WORKSHEET,如果發生改變以后就讓它去執行如下代碼!

Private Sub Worksheet_Change(ByVal Target As Range)

'Designed by liuzheng

'http://grwy.online.ha.cn/vba_excel97/

my = Target.Column

myadd = Target.Address

With Range(myadd).Offset(0, 1)

If Range(myadd).Address = "$A$1" Then Exit Sub

Application.EnableEvents = False

If my = 1 Then

If Target <> "" Then

.NumberFormatLocal = "@"

.Value = Now

Else

If b <> vbCancel Then .Value = ""

End If

Else

Application.EnableEvents = True

Exit Sub

End If

End With

Application.EnableEvents = True

End Sub

  在代碼中,我使用了"NOW"函數,這個函數是EXCEL中的內置函數,它的意思就是得出當前系統的時鐘時間,如:1/3/2000 11:22:35 AM,但是直接在單元格中輸入NOW的值,它只顯示:1/3/2000 11:22 AM不能精確到秒,如何使它精確到秒呢?我采用了如下語句".NumberFormatLocal = "@"", 讓NOW函數顯示為文本!怎么樣很簡單吧!本例中如果我們在單元格中輸入"=NOW()"你會看到單元格中將顯示為:1/3/2000 11:22 AM,但如果下一次您打開工作表之后,所有帶有"=NOW()"的單元格將都改為您打開工作簿的時間,所以只能將值付給單元格,而不能只輸入NOW函數公式!

  而ENABLEEVENTS屬性是使得,指定對象能觸發事件,它是個 Boolean 類型。

  希望上述代碼能夠使您舉一反三,方便自己的工作為準!編寫VBA程序以方便工作而準,如果為了編程而編程就失去了編程的意義!

  最后我也希望各位VBA高手,寫出更多更好的代碼,以便我們的工作!

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97