通常,我們可以使用Excel的“數據驗證”功能來設置指定單元格或單元格區域僅能輸入指定范圍的整數或者小數,如下圖1所示。

圖1
設置好后,僅能在單元格C2中輸入介于1至100之間的整數,如下圖2所示。

圖2
其實,使用VBA也能夠實現上述功能且更靈活和強大。例如,我們想要限定用戶在單元格區域B2:D6中僅能輸入數字。在VBE中,雙擊單元格區域所在的工作表模塊,輸入下面的代碼:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Application.EnableEvents = False
For Each rng In Target
‘限定程序執行在單元格區域B2:D6
If Not Application.Intersect(rng,Range(“B2:D6”)) Is Nothing Then
‘判斷是否為數字
‘如果不是數字則清空
If Not IsNumeric(rng.Value) Then
rng.Value = vbNullString
End If
End If
Next rng
Application.EnableEvents = True
End Sub
這樣,在該工作表單元格區域B2:D6中,如果輸入的是非數字,則會自動清空。并且,這個單元格區域可以輸入整數或小數。






