VBA整数数据类型|在VBA中使用整数数据类型的完整指南

整数是VBA中的一种数据类型,它赋予任何变量以容纳整数值,整数变量可以容纳的数量的限制或括号在VBA中与其他语言相似,任何变量都定义为整数在VBA中使用DIM语句或关键字定义变量。

Excel VBA整数

数据类型在任何编码语言中都非常重要,因为在所有变量声明之后都应紧跟分配给这些变量的数据类型。我们有几种数据类型可以使用,每种数据类型都有自己的优点和缺点。当我们声明变量时,了解有关特定数据类型的详细信息很重要。这是专门针对VBA中“整数”数据类型的文章。我们将向您展示“整数”数据类型的完整图片。

什么是整数数据类型?

整数是整数,可以是正数,负数和零,但不能是小数。在VBA上下文中,“整数”是我们分配给变量的数据类型。它是一种数字数据类型,可以容纳整数而没有小数位。整数数据类型2个字节的存储空间,是VBA LONG数据类型的一半,即4个字节。

Excel VBA整数数据类型的示例

以下是VBA整数数据类型的示例。

您可以在此处下载此VBA整数数据类型模板– VBA整数数据类型模板

范例#1

当我们声明一个变量时,有必要为它分配一个数据类型,并根据需要对所有用户常用的其中之一进行整数处理。

正如我告诉我的,整数只能容纳整数,不能容纳任何小数。请按照以下步骤查看VBA整数数据类型的示例。

步骤1: 将该变量声明为Integer。

代码:

 Sub Integer_Example()Dim k作为整数结尾Sub 

第2步: 将值500分配给变量“ k”。

代码:

 Sub Integer_Example1()Dim k作为Integer k = 500 End Sub 

第三步: 在VBA消息框中显示该值。

代码:

 Sub Integer_Example1()Dim k作为整数k = 500 MsgBox k End Sub 

当我们使用F5键或手动运行代码时,在消息框中可以看到500。

范例#2

现在,我将值-500分配给变量“ k”。

代码:

 Sub Integer_Example2()Dim k作为整数k = -500 MsgBox k End Sub 

手动运行此代码或按F5键,它还将在消息框中显示-500的值。

例子#3

正如我告诉VBA,Integer数据类型只能容纳整数,不能容纳25.655或47.145之类的小数。

但是,我将尝试将分数分配给VBA Integer数据类型。例如,请看下面的代码。

代码:

 Sub Integer_Example3()Dim k作为整数k = 85.456 MsgBox k End Sub 

我已将85.456分配给变量“ k”。我将运行此VBA代码以查看结果。

  • 即使我已分配分数数字的值,它也返回结果为85。这是因为VBA将分数数字四舍五入到最接近的整数。
  • 所有小于0.5的分数将四舍五入为最接近的整数。例如2.456 = 2,45.475 = 45。
  • 所有大于0.5的分数将四舍五入到最接近的整数。例如,10.56 = 11、14.789 = 15。

再看一下舍入整数,将“ k”的值设为85.58。

代码:

 Sub Integer_Example3()Dim k作为整数k = 85.58 MsgBox k End Sub 

当我使用F5键或手动运行此代码时,它将返回86,因为大于0.5的值将四舍五入到下一个整数。

Excel VBA中整数数据类型的限制

溢出错误: 只要分配的值在-32768到32767之间,整数数据类型就应该可以正常工作。一旦超出任一侧的限制,将导致错误。

例如,请看下面的代码。

代码:

 Sub Integer_Example4()Dim k作为整数k = 40000 MsgBox k End Sub 

我已将值40000分配给变量“ k”。

由于我肯定对整数数据类型有全面的了解,因此我知道它不起作用,因为整数数据类型最多只能容纳32767个值。

让我们手动或通过F5键运行代码,看看会发生什么。

糟糕!

我收到“溢出”错误,因为Integer数据类型不能容纳超过32767的正数和-32768的负数。

类型不匹配错误: 整数数据只能保存-32768到32767之间的数值。如果分配的数字多于这些数字,将显示溢出错误。

现在,我将尝试为其分配文本或字符串值。在下面的示例代码中,我将值分配为“ Hello”。

代码:

 Sub Integer_Example4()Dim k作为Integer k =“ Hello” MsgBox k End Sub 

我将通过运行选项或手动运行此代码,然后看看会发生什么。

由于我们无法将文本值分配给变量“整数数据类型”,因此将错误显示为“类型不匹配”。