卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

使用VBA生成滿足條件的日期

在Excel中,有時我們需要根據(jù)輸入的數(shù)值來自動記錄當前的時間。本文將介紹如何使用VBA編寫程序,在A-C列的單元格輸入數(shù)值后,對應的D-F列記錄當前的時間,并且如果輸入為空白或者不是數(shù)值,則對應的單

在Excel中,有時我們需要根據(jù)輸入的數(shù)值來自動記錄當前的時間。本文將介紹如何使用VBA編寫程序,在A-C列的單元格輸入數(shù)值后,對應的D-F列記錄當前的時間,并且如果輸入為空白或者不是數(shù)值,則對應的單元格保持空白。

VBA程序編寫思路

首先,我們需要使用到""事件,在改變單元格內(nèi)容時觸發(fā)VBA程序運行。下面是具體的步驟:

1. 打開Excel表格,在工作表標簽"Sheet1"上單擊右鍵,選擇"查看代碼"。

2. 在VBA編輯器的Sheet1代碼框里輸入以下程序代碼:

```vba

Private Sub Worksheet_Change(ByVal Target As Range)

Dim ro, co, bo

' 忽略運行過程中可能出現(xiàn)的錯誤

On Error Resume Next

' 開啟代碼只執(zhí)行一次

Application.EnableEvents False

' 定義工作表

Set mysheet1 ("Sheet1")

' 獲取改變的單元格的行號和列號

ro

co

' 改變的單元格是否為數(shù)值

bo IsNumeric(Target)

' 如果改變的單元格不為空白,在A-C列,且是數(shù)值

If Target <> "" And co < 3 And bo True Then

' 設(shè)置單元格的時間格式

mysheet1.Cells(ro, co 3).NumberFormatLocal "yyyy-mm-dd hh:mm:ss"

' 把時間寫入單元格

mysheet1.Cells(ro, co 3) Now()

End If

' 如果改變的單元格在A-C列且為空白或者不是數(shù)值

If co < 3 And (Target "" Or bo False) Then

' 清空對應單元格的日期

mysheet1.Cells(ro, co 3) ""

End If

' 恢復代碼只執(zhí)行一次

Application.EnableEvents True

End Sub

```

使用VBA生成滿足條件的日期

回到Sheet1的工作表界面,在A-C列的單元格里輸入數(shù)據(jù)時,將會在D-F列對應的單元格記錄日期和時間。

VBA程序注意事項

1. 使用""事件時,每改變一個單元格可能會執(zhí)行多次,所以要在代碼中引入"Application.EnableEvents False",以確保只執(zhí)行一次。

2. 單元格的時間格式可以事先在工作表上設(shè)置好,也可以在程序中進行設(shè)置。如果單元格未設(shè)置成時間格式,其顯示的結(jié)果可能是一串數(shù)字。

3. 使用"IsNumeric"判斷單元格內(nèi)容是否為數(shù)字時,空白單元格也會被默認成是數(shù)字,此時需要排除掉它們。

標簽: