国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

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

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

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

VBA程序編寫思路

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

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

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

```vba

Private Sub Worksheet_Change(ByVal Target As Range)

Dim ro, co, bo

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

On Error Resume Next

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

Application.EnableEvents False

' 定義工作表

Set mysheet1 ("Sheet1")

' 獲取改變的單元格的行號(hào)和列號(hào)

ro

co

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

bo IsNumeric(Target)

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

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

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

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

' 把時(shí)間寫入單元格

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

End If

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

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

' 清空對(duì)應(yīng)單元格的日期

mysheet1.Cells(ro, co 3) ""

End If

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

Application.EnableEvents True

End Sub

```

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

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

VBA程序注意事項(xiàng)

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

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

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

標(biāo)簽: