如何使用VBA的IsNumeric函数(9个例子)

  • Share This
Hugh West

如果你正在寻找一些最简单的方法来使用 VBA IsNumeric 我们一般会在下列场合使用这个函数 VBA 来测试一个表达式是否是数字,根据表达式,它将返回 为真 如果表达式是一个数字,否则 失败 .

下载工作手册

VBA IsNumeric Function.xlsm

VBA IsNumeric函数:语法& 参数

⦿ 语法

IsNumeric (Expression)

⦿ 论点

争论 必备/可选 解释
表达方式 需要 它是一个变体,要检查它是否是一个数字。

⦿ 返回值

输入 返回值
数量 为真
不是数字;是字符串 失败

⦿ 版本

ǞǞǞ ISNUMERIC函数 中提出的。 Excel 2000 版本,并可用于此后的所有版本。

9个使用VBA IsNumeric函数的例子

在这篇文章中,我们将尝试展示以下的用途 VBA IsNumeric 与一些随机的例子一起,包括下表中的一些例子。

我们已经使用了 微软Excel 365 在这里,你可以根据你的方便使用任何其他版本。

1.用一些随机值检查VBA的IsNumeric情况

在这里,我们将测试一些随机字符串与 VBA 符号 ,如果这些值是数字,或不是数字。

步骤-01 :

➤ 转到 开发商 标签>>。 视觉基础 选择。

然后,在 Visual Basic编辑器 将打开。

➤ 转到 插入 标签>>。 模块 选择。

在这之后,一个 模块 将被创建。

步骤-02 :

➤ 编写以下代码

 Sub checkvalue1() Dim x As Variant x = InputBox("Give any Value") MsgBox IsNumeric(x) End Sub 

在这里,我们已经宣布 x 作为一个 变体 并且它将存储输入值。 然后 符号 将返回 为真 如果输入值是数字,则返回 失败 我们将在一个消息框中找到输出结果( MsgBox ).

➤ 按 F5 .

然后你会得到下面的输入框,如果你写下的值是 100 并按 认可 ,

你会得到一个信息框,上面写着 "真" .

用于写入字符串 猫咪 并按 认可 在输入框中。

我们收到一个信息框说 "假的" .

阅读更多:如何在Excel中使用VBA随机化功能(5例)。

2.使用VBA IsNumeric与IF-THEN-ELSE语句

在本节中,我们将使用 ISNUMERIC函数 IF-THEN-ELSE 语句在一个 VBA 代码来定义数字和非数字的值。

阶梯 :

➤ 跟随 步骤-01 科室的 1 .

➤ 写下以下代码

 Sub checkvalue2() Dim x As Variant x = InputBox("Give any Value") If IsNumeric(x) = True Then MsgBox "The Given Value is numeric" Else MsgBox "The Given Value is not numeric" End If End Sub 

在这里,我们已经宣布 x 作为一个 变体 它将存储输入值。 当 符号 将返回 为真 , 基金会 将返回一个消息说 "给定值是数字" 而如果 符号 返回 失败 ,那么 基金会 返回一条信息,说明 "给定值不是数字" .

➤ 按 F5 .

然后你会得到下面的输入框,如果你写下的值是 200 并按 认可 ,

你会得到一个信息框,上面写着 "给定值是数字" .

用于写入字符串 猫咪 并按 认可 在输入框中。

我们收到一个信息框说 "给定值不是数字" .

阅读更多。 Excel中的VBA If - Then - Else语句(4个例子)

3.用IsNumeric函数创建一个相反的结果

在这里,我们将创建一个 VBA 代码,将给我们带来与之相反的结果。 ISNUMERIC函数 ,这意味着对于数值,我们将得到 失败 ,对于非数字值,它将返回 为真 .

阶梯 :

➤ 跟随 步骤-01 科室的 1 .

➤ 写下以下代码

 Sub checkvalue3() Dim x As Variant x = InputBox("Give any Value") If IsNumeric(x) = True Then MsgBox ("FALSE") Else MsgBox ("TRUE") End If End Sub 

在这里,我们已经宣布 x 作为一个 变体 它将存储输入值。 当 符号 将返回 为真 , 基金会 将返回一个消息说 "FALSE" 而如果 符号 返回 失败 ,那么 基金会 返回一条信息,说明 "TRUE" .

➤ 按 F5 .

然后你会得到下面的输入框,如果你写下的值是 25 并按 认可 ,

你会得到一个信息框,上面写着 "FALSE" .

用于写入字符串 阿拉斯加 并按 认可 在输入框中。

我们收到一个信息框说 "TRUE" .

相关内容。 Excel中的VBA格式功能(8种用途及实例)

4.检查空白处是否为数字。

你可以很容易地用一个 VBA 编码,如果空白是数字或不是。

阶梯 :

关注 步骤-01 科室的 1 .

➤ 写下以下代码

 Sub checkvalue4() Dim x As Variant x = " " MsgBox IsNumeric(x) End Sub 

在这里,我们已经宣布 x 作为一个 变体 并且它将存储 空白 .然后 符号 将返回 为真 如果 空白 是数字,否则它将返回 失败 .

➤ 按 F5 .

之后,你会得到一个信息框,说 "假的" 这意味着 空白不是数字 .

阅读更多。 用Excel公式生成随机数(5个例子)

5.检查日期是否为数字型

在本节中,我们将使用一个随机日期,并检查日期是否为数字。

阶梯 :

➤ 跟随 步骤-01 科室的 1 .

➤ 写下以下代码

 Sub checkvalue5() Dim x As Variant x = "02/02/2022 " MsgBox IsNumeric(x) End Sub 

在这里,我们已经宣布 x 作为一个 变体 它将存储一个日期。 然后 符号 将返回 为真 如果日期是数字的,则将返回 失败 .

➤ 按 F5 .

之后,你会得到一个信息框,说 "假的" 这意味着 日期不是数字 .

我们也可以尝试用 DATESERIAL函数 来创建日期,并检查它是否是数字的。

➤ 输入以下代码

 Sub checkvalue5a() Dim x As Variant x = DateSerial(2022, 2, 2) MsgBox IsNumeric(x) End Sub 

在这里,我们已经宣布 x 作为一个 变体 并且它将存储一个由 DATESERIAL函数 .然后 符号 将返回 为真 如果日期是数字的,则将返回 失败 .

➤ 按 F5 .

作为回报,你会得到一个信息框,上面写着 "假的" 也是这个时候。

阅读更多。 VBA日期功能(宏的12种用途及示例)

类似的阅读。

  • 如何在Excel VBA中使用MsgBox函数(完整指南)
  • 使用VBA的Environ函数(4个例子)
  • 如何在Excel中使用VBA和函数(4个例子)
  • 使用VBA案例声明(13个例子)
  • 如何在Excel VBA中使用对数函数(5个合适的例子)

6.检查时间是否为数字型

在本节中,我们将通过使用以下方法来检查时间是否是数字的 ISNUMERIC函数 .

阶梯 :

➤ 跟随 步骤-01 科室的 1 .

➤ 写下以下代码

 Sub checkvalue6() Dim x As Variant x = "09:30:00 AM" MsgBox IsNumeric(x) End Sub 

在这里,我们已经宣布 x 作为一个 变体 它将存储一个时间。 然后 符号 将返回 为真 如果时间是数字的,则会返回 失败 .

➤ 按 F5 .

之后,你会得到一个消息框,说 "假的" 这意味着 时间不是数字 .

你也可以尝试用 TIMESERIAL函数 来创建日期,并检查它是否是数字的。

➤ 输入以下代码

 Sub checkvalue6a() Dim x As Variant x = TimeSerial(9, 30, 0) MsgBox IsNumeric(x) End Sub 

在这里,我们已经宣布 x 作为一个 变体 并且它将存储一个由 TIMESERIAL函数 .然后 符号 将返回 为真 如果时间是数字的,则会返回 失败 .

➤ 按 F5 .

然后,你会得到一个信息框,说 "假的" 也是这一次。

同样,我们可以尝试在工作表的一个单元格中引用一个时间值。

➤ 输入以下代码

 Sub checkvalue6b() Dim x As Variant x = range("B2").value MsgBox IsNumeric(x) End Sub 

在这里,我们已经宣布 x 作为一个 变体 它将存储一个时间,在 B2 细胞。 然后 符号 将返回 为真 如果时间是数字的,则将返回 失败 .

➤ 按 F5 .

最后,你会得到一个消息框,说 "真" 这一次。

阅读更多。 如何在Excel中使用VBA TimeSerial (3个例子)

7.对一个数值范围使用VBA的IsNumeric

在这里,我们将检查是否有 分数/等级 列是数字或非数字的,并且其结果在 检查 列。

阶梯 :

关注 步骤-01 科室的 1 .

➤ 写下以下代码

 Sub checkvalue7() Dim cell As Range For Each cell In Range("D5:D11") cell.Offset(0, 1) = IsNumeric(cell) Next cell End Sub 

我们将单元格声明为Range,并使用了一个 循环处理范围内的单元格 "D5:D11" 而对于这些细胞来说, 符号 将返回 为真 如果该值是数字,则将返回 失败 cell.Offset(0, 1) 将在一列的输出值之后返回到输入列。

➤ 按 F5 .

此后,我们将有 为真 数值或 符号 失败 非数字型数值,或 等级划分 .

阅读更多。 如何在Excel中使用VBA的Val函数(7个例子)

8.创建一个函数来测试一个值的范围

在本节中,我们将创建一个带有 VBA ISNUMERIC 的值,并检查是否 分数/等级 列是数字或非数字。

步骤-01 :

关注 步骤-01 科室的 1 .

➤ 写下并保存以下代码

 Function IsNumericTest(value As Variant) As Boolean If IsNumeric(value) Then IsNumericTest = True Else IsNumericTest = False End If End Function 

这段代码将创建一个名为 检验是否是数字式的 .

步骤-02 :

➤ 返回到主工作表,在单元格中输入以下公式 E5

=IsNumericTest(D5)

D5 是指 分数/等级 的一个学生和 检验是否是数字式的 将返回 真/假 取决于该值。

➤ 按 进入 并向下拖动 填充手柄 工具。

最后,我们将有 为真 数值或 符号 失败 非数字型数值,或 等级划分 .

相关内容。 如何在Excel中使用VBA DIR函数(7个例子)

9.用VBA的IsNumeric函数计算非数字值

我们要计算非数字值或成绩的 分数/等级 列,在这里我们将使用 VBA ISNUMERIC 并有我们的非数字值的总数,在 计数 列。

步骤-01 :

➤ 跟随 步骤-01 科室的 1 .

➤ 写下并保存以下代码

 Function countnonnumeric(value As range) As Long Dim cell As range Dim count As Long For Each cell In value.Cells If Not IsNumeric(cell.value) Then count = count + 1 End If Next countnonnumeric = count End Function 

这段代码将创建一个名为 数一数二 .

当单元格的值不是一个数字时,那么 将会增加 1 .

步骤-02 :

➤ 返回到主工作表并键入以下公式

=countnonnumeric(D5:D11)

D5:D11 的范围。 分数/等级 的学生和 数一数二 将返回非数字等级的总数。

➤ 按 进入

最后,你将得到一个值 3 这意味着你有 3 在的成绩。 分数/等级 列。

阅读更多。 如何在VBA函数中返回一个值(包括数组和非数组值)?

IsNumeric vs ISNUMBER

  • 符号 检查一个值是否可以转换为一个数字,并且 身份证号码 检查一个值是否被存储为数字。
  • 彼此之间存在一些差异。 VBA的ISNUMERIC函数 和Excel 函数ISNUMBER 我们试图通过使用我们先前创建的 函数IsNumericTest 和内置的Excel 函数ISNUMBER .

练习部分

为了方便自己的练习,我们提供了一个 实践 的工作表中,像下面这样,在一个名为 实践 .请你自己去做。

总结

在这篇文章中,我们试图介绍一些使用的方法。 VBA ISNUMERIC 希望你会发现它很有用。 如果你有任何建议或问题,欢迎在评论区分享。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.