在本文中,我们将了解VBA中使用了哪些不同类型的变量以及如何使用它们。

image

什么是VBA变量?

VBA代表Visual Basic for Applications。它是Microsoft的一种编程语言。它与Microsoft Office应用程序(例如MSExcel,MS-Word和MS-Access)一起使用,而VBA变量是存储在计算机内存或存储系统中的特定关键字。以后,可用于代码中的值并执行。操作员将从系统中获取该值并将其显示为输出。必须为每个变量指定一个名称。本文介绍了VBA变量的基础知识。每个部分均包含相关主题以及简单而有用的示例。

VBA变量命名的一些规则:

。它的第一个字符必须是字母。

。长度不能超过255个字符。

。像空格(),句点(。),感叹号(!),@,&,美元($)和哈希字符(#)之类的字符。

。它不能是VBA的预定义保留关键字之一。

语法:

Sub Demo()  Dim var_name As data_type End Sub

让我们进一步了解不同的数据类型及其用法。 Excel读取2种不同类型的数值和非数值数据类型。

数值范围为

的数值数据类型。字节(0到255)

。整数(-32,768至32,767)

。长(-2,147,483,648至2,147,483,648)

。单(-3.402823E + 38至-1.401298E-45)和(1.401298E-45至3.402823E + 38)。

。双重(-1.79769313486232e + 308至-4.94065645841247E-324)和(4.94065645841247E-324至1.79769313486232e + 308)。

。货币(-922,337,203,685,477.5808至922,337,203,685,477.5807)

。小数(最多28个小数位)

非数值数据类型:变量范围和有效名称

。字符串(固定长度,长度范围为1到65,400个字符)

。字符串(可变长度,长度范围为0至20亿个字符)

。布尔值(True或False)

。日期(范围从100年1月1日到9999年12月31日)

。对象(任何嵌入的对象)

。变体(数值和任何与Double一样大的值)

。变体(文本和与可变长度字符串相同)

在VBA中,我们需要先通过分配名称和数据类型来声明变量。在VBA中,变量是隐式或显式声明的。

隐式*:以下是声明为隐式的变量的示例。

label = exceltip.com页面= 4显式:以下是显式声明的变量的示例。

Dim ID作为整数Dim密码作为字符串VBA变量与其他编程语言没有区别。要在VBA中声明变量,请使用关键字“昏暗”。*让我们一步一步地了解有关常用数据类型的更多信息。

整数数据类型

我们列表上的第一个是Integer数据类型。整数数据类型,其值范围为-32,768至32,767。例如,如果变量名var设置为值10,则可以在需要时通过其var_name对其进行使用或调用。

Sub Demo()  Dim num As Integer  num = 10  range("A1").Value = num End Sub

保存并运行此Demo()代码,以在工作表的A1单元格中获取数值10,如下所示。

image

现在保存此vba工作簿。

打开宏并运行此代码,如下所示。

image

单击运行以获取A1单元格中的值为10。

image

如您所见,如何使用Integer数据类型并调用它们,以返回值。

字符串(固定和可变)数据类型

我们列表中的第二个是非数字数据类型的String数据类型。

用于文本值字符的字符串数据类型,固定范围为1到65,400个字符,可变范围为0到20亿个字符。例如,如果变量pasword设置为值“ abcd”。可以通过名称随时使用或调用它。

Sub Demo()  Dim pasword As String  pasword = "abcd"  range("A1").Value = pasword End Sub

保存并运行此Demo()代码,以在工作表的A1单元中获取文本值“ abcd”,如下所示。

image

现在保存此代码。

打开宏并运行此代码,如下所示。

image

单击运行以获取A1单元格中的值为10。

image

如您所见,如何使用String数据类型并调用它们,以返回值。

货币数据类型

我们名单上的第三个是货币数据类型。值范围从-922,337,203,685,477.5808到922,337,203,685,477.5807的货币数据类型。

例如,如果可变贷款的值设置为10,000。可以在需要时通过其var_name来使用或调用它。

Sub Demo()  Dim loan As Currency  loan = 10000  range("A1").Value = loan End Sub

保存并运行此Demo()代码,以在工作表的A1单元格中获取数值10,如下所示。

image

现在保存此vba工作簿。

打开宏并运行此代码,如下所示。

image

单击运行以获取A1单元中的货币值。

image

如您所见,代码如何自动使用美元符号将数字值转换为货币,以及如何使用货币数据类型并对其进行调用以返回值。

日期数据类型

第四种常见类型是日期数据类型。用于100年1月1日至9999年12月31日之间的日期值的日期数据类型。例如,如果今天变量设置为日期值。可以在需要时通过其var_name来使用或调用它。

Sub Demo()  Dim today As Date  Date = "7 Feb 2020"  range("A1").Value = Date End Sub

保存并运行此Demo()代码,以在工作表的A1单元中获取2020年2月7日的日期值,如下所示。

image

现在保存此vba工作簿。

打开宏并运行此代码,如下所示。

image

单击运行以获取A1单元中的货币值。

image

如您所见,代码如何自动将单元格值格式化为日期格式以使数值成为日期,以及如何使用日期数据类型并调用它们以返回值。

示例:

上面说明的数据类型是一些最常见的数据类型。现在来看一个示例,以查看整个子例程。

在这里,我们将ID定义为Integer,将paswd定义为String,将收入定义为货币,将退休日期定义为Date。

image

Sub Demo()

Dim Id As Integer, paswd As String, Income As Currency, today As Date

Id = 247

paswd = "@bcd"

Income = 1500

today = "7 Feb 2020"

Range("A1").Value = Id

Range("A2").Value = paswd

Range("A3").Value = Income

Range("A4").Value = today

End Sub

将此代码编写为子例程,并运行此Demo()代码以获得以下结果。

image

如您所见,运行Demo()代码会提取所有值。

在所有编程语言中,我们都有变量访问说明符,用于定义从何处可以访问已定义的变量。 Excel VBA也不例外。 VBA也具有范围说明符。这些作用域说明符可用于设置Excel VBA中变量的可见性/范围。了解有关“ link:/ general-topics-in-vba-excel-vba-variable-scope [vba excel中的可变范围]”的更多信息。

相关文章:

ByRef和ByVal参数当参数作为ByRef参数传递给其他子函数时,将发送实际变量的引用。对变量副本所做的任何更改都将反映在原始参数中。

在Microsoft Excel中使用VBA删除没有确认提示的工作表由于要使用VBA删除工作表,因此您知道自己在做什么。

您想告诉Excel不要显示此警告并删除该死的表。

在Microsoft Excel 2016中使用VBA添加和保存新工作簿在此代码中,我们首先创建了对工作簿对象的引用。然后,我们使用一个新的工作簿对象对其进行了初始化。这种方法的好处是您可以轻松地对此新工作簿进行操作。像保存,关闭,删除等一样,link:/ menus-toolbars-status-bar-in-vba-在Microsoft Excel中使用vba-显示状态栏上的消息Excel VBA状态栏] excel中的状态栏可用作代码监视器。当您的VBA代码很长并且您使用VBA执行多项任务时,通常会禁用屏幕更新,以免看到屏幕闪烁的链接:/使用-vba-in-microsoft-excel [在Microsoft Excel 2016中使用VBA关闭警告消息]|此代码不仅禁用VBA警报,还提高了代码的时间效率。让我们看看如何。

热门文章:

50 Excel快捷方式以提高生产率更快地完成任务。这50个快捷键将使您在Excel上的工作速度更快。

Excel中的VLOOKUP函数在Excel 2016中为COUNTIF使用此惊人的功能对条件进行计数。您无需过滤数据即可计算特定值。

Countif功能对于准备仪表板至关重要。

如何在Excel中使用SUMIF函数这是仪表板的另一个重要功能。这可以帮助您汇总特定条件下的值。