当前位置: 主页 > Office办公 > Excel专区 > Excel教程 > 如何让VBA让用户仅能在指定单元格或单元格区域中输入数字

如何让VBA让用户仅能在指定单元格或单元格区域中输入数字

  • 2022-11-08
  • 来源/作者: Wps Office教程网/ 菜鸟图库
  • 157 次浏览

通常,我们可以使用Excel的“数据验证”功能来设置指定单元格或单元格区域仅能输入指定范围的整数或者小数,如下图1所示。

如何让VBA让用户仅能在指定单元格或单元格区域中输入数字

图1

设置好后,仅能在单元格C2中输入介于1至100之间的整数,如下图2所示。

如何让VBA让用户仅能在指定单元格或单元格区域中输入数字

图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中,如果输入的是非数字,则会自动清空。并且,这个单元格区域可以输入整数或小数。