VBA VAL |如何使用VBA VAL功能? (带有示例)

Excel VBA Val函数

VBA中的Val函数 属于字符串函数,它也是VBA中的内置函数,用于从数据变量获取数字值,假设如果一个变量的值为A10,则val函数将给我们10作为输出,它将字符串作为一个参数,并返回字符串中存在的数字。

VAL在VBA术语中代表VALUE。此函数将包含数字的字符串转换为实际数字。例如,如果提供文本字符串“ 1234 Global”,它将仅返回数字部分,即1234。

通常,当我们从网络编号下载或获取数据时,通常会以文本值的形式存储在电子表格中。如果您不知道excel中的正确功能,则将文本转换为数字是最困难的任务。作为常规工作表函数,我们有一个名为VALUE的函数,该函数将使用工作表中的一个简单函数将代表数字的所有字符串转换为精确数字。在本文中,我们将展示如何使用VAL函数在VBA中实现这一点。

句法

它只有一个论点 即字符串。

  • 细绳: 它只是一个字符串值,我们正在尝试从中获取数字部分。

因此,VAL函数将提供的字符串转换为数值。

笔记: VAL函数始终忽略空格字符,并继续读取空格字符之后的数字。

例如,如果提供的字符串为“ 145 45 666 3”,它将忽略空格字符,并返回结果为“ 145456663”。

Excel VBA中VAL函数的示例

您可以在此处下载此VBA Val功能Excel模板– VBA Val功能Excel模板

范例#1

让我们尝试第一个示例,它使用简单的数字,即“ 14 56 47”

以下代码适合您。

代码:

 Sub Val_Example1()Dim k As Variant k = Val(“ 14 56 47”)'将上面的内容转换为145647 MsgBox k End Sub 

当您使用F5键或手动运行VBA代码时,它将通过忽略所有空格字符来返回结果“ 145647”,如下图所示。

范例#2

在此示例中,我们将看到字符串的结果是“ +456”。

代码:

 Sub Val_Example2()Dim k As Variant k = Val(“ + 456”)'将以上转换为456 MsgBox k End Sub 

您可以手动运行此代码,也可以通过F5键忽略+456来返回值456。

例子#3

现在,让我们尝试使用带负号的相同数字。

代码:

 Sub Val_Example3()Dim k As Variant k = Val(“-456”)'将以上转换为-456 MsgBox k End Sub 

该代码将返回值为-456的唯一原因是,应显示带有运算符的数字。

例子#4

现在,尝试使用此字符串“ 100 Kg”。

代码:

 Sub Val_Example4()Dim k As Variant k = Val(“ 100 KG”)'忽略KG并仅返回100 MsgBox k End Sub 

如果您手动运行此代码或使用F5键,则以上代码将忽略“ KG”,而在VBA消息框中仅返回“ 100”。

范例#5

现在尝试日期字符串,即“ 14-05-2018”。

代码:

 Sub Val_Example5()Dim k As Variant k = Val(“ 14-05-2019”)'返回14作为结果。 MsgBox k结束子 

上面的代码返回14作为结果,因为VAL函数只能获取数字值,直到找到除数字字符之外的任何其他字符为止。

范例#6

现在尝试字符串“ 7459Good456”。

代码:

 Sub Val_Example6()Dim k As Variant k = Val(“ 7459 Good 456”)'返回7459作为结果。 MsgBox k结束子 

这将提取数字,直到找到非数字字符,即结果为7459。即使在非数字值“ Good”之后有数字值,它之后也会完全忽略数字。

范例#7

现在尝试使用字符串值“ H 12456”。

代码:

 Sub Val_Example7()Dim k As Variant k = Val(“ H 12456”)'返回0作为结果。 MsgBox k结束子 

使用快捷键F5或手动运行以上代码,然后将结果返回零。因为我们提供的字符串的第一个字符是非数字字符,所以结果为零。

范例#8

现在尝试使用此字符串“ 24545”。 2”。

代码:

 Sub Val_Example8()Dim k As Variant k = Val(“ 24545。2”)'返回结果24545.2。 MsgBox k结束子 

该代码返回结果为24545.2,因为VBA VAL函数将字符点(。)视为十进制字符,并相应地返回结果。