Excel实战技巧59: 使用VBA让用户仅能在指定单元格或单元格区域中输入数字

2019-11-07 17:03:25 浏览数 (1)

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

图1

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

图2

其实,使用VBA也能够实现上述功能且更灵活和强大。例如,我们想要限定用户在单元格区域B2:D6中仅能输入数字。在VBE中,双击单元格区域所在的工作表模块,输入下面的代码:

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

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

0 人点赞