Excel 定义变量有多少种

如题所述

具体的详细的可以看看帮助:
声明变量

通常会使用 Dim 语句来声明变量。一个声明语句可以放到过程中以创建属于过程的级别的变量。或在声明部分可将它放到模块顶部,以创建属于模块级别的变量。
下面的示例创建了变量 strName 并且指定为 String 数据类型。
Dim strName As String

如果该语句出现在过程中,则变量 strName 只可以在此过程中被使用。如果该语句出现在模块的声明部分,则变量 strName 可以被此模块中所有的过程所使用,但是不能被同一工程中不同的模块所含过程来使用。为了使变量可被工程中所有的过程所使用,则在变量前加上 Public 语句,如以下的示例:
Public strName As String

关于命名变量的详细信息,请参阅 Visual Basic 帮助中的“Visual Basic 命名规则”。
变量可以声明成下列数据类型中的一种:Boolean、Byte、Integer、Long、Currency、Single、Double、Date、String(变长字符串)、String * length (定长字符串)、Object 或 Variant。如果未指定数据类型,则 Variant数据类型被赋予缺省。也可以使用 Type 语句来创建用户定义类型。关于数据类型的详细信息,请参阅 Visual Basic 帮助中的“数据类型总结”。
可以在一个语句中声明几个变量。而为了指定数据类型,必须将每一个变量的数据类型包含进来。在下面的语句中,变量 intX、intY、与 intZ 被声明为 Integer 类型。
Dim intX As Integer, intY As Integer, intZ As Integer

在下面的语句中,变量 intX 与 intY 被声明为 Variant 类型 ;只有 intZ 被声明为 Integer 类型。
Dim intX, intY, intZ As Integer

在声明语句中,不一定要提供变量的数据类型。若省略了数据类型,则会将变量设成 Variant 类型。
使用 Public 语句
可以使用 Public 语句去声明公共模块级别变量。
Public strName As String

公有变量可用于工程中的任何过程。如果公有变量是声明于标准模块或是类模块中,则它也可以被任何引用到此公有变量所属工程的工程中使用。
使用 Private 语句
可以使用 Private 语句去声明私有的模块级别变量。
Private MyName As String

私有变量只可使用于同一模块中的过程。
注意 在模块级别中使用 Dim 语句与使用 Private 语句是相同的。不过使用 Private 语句可以更容易的读取和解释代码。
使用 Static 语句
当使用 Static 语句取代 Dim 语句时,所声明的变量在调用时仍保留它原先的值。
使用 Option Explicit 语句
在 Visual Basic 中可以简单地通过一个赋值语句来隐含声明变量。所有隐含声明变量都为 Variant 类型,而 Variant 类型变量比大多数其它类型的变量需要更多的内存资源。如果显示地声明变量为指定的数据类型,则应用程序将更有效。显示声明所有变量减少了命名冲突以及拼写错误的发生率。
如果不想使 Visual Basic 生成隐含声明,可以将 Option Explicit 语句放置于模块中所有的过程之前。这一个语句要求对模块中所有的变量做显示地声明。如果模块包含 Option Explicit 语句,则当 Visual Basic 遇到一个先前未定界的变量或拼写错误,它会发生编译时间的错误。
可以设置 Visual Basic 程序环境中的某个选项,使得自动在所有新的模块中包含 Option Explicit 语句。请参阅应用程序的文档来得知如何更改 Visual Basic 环境选项,请注意这个选项并不会改变已写好的存在的代码。
注意 必须显示地声明固定大小的数组与动态数组。
为自动化声明一个对象变量
当使用一个应用程序去控制另外一个应用程序的对象时,应该设置一个对于其它应用程序的类型库的引用。若设置一个引用,则可以根据它们最常指定的类型来声明对象变量。例如,如果是在 Microsoft Word 中,当对 Microsoft Excel类型库做一引用设置时,可以在 Microsoft Word 中声明 Worksheet 类型的变量来表示 Microsoft Excel 中的 Worksheet 对象。
如果使用其它的应用程序去控制 Microsoft Access 对象,在多数情况下,可以根据它们最常指定的类型来声明对象变量。也可以使用关键字 New 去自动生成一个对象的新实例。然而,可能要指示它是 Microsoft Access 对象。例如,当在 Microsoft Visual Basic 里面声明一个对象变量去表示 Microsoft Access form 时,必须区别它是 Microsoft Access Form 对象或是 Visual Basic Form 对象。所以在声明变量的语句中必须要包含类型库的名称,如下面示例所示:
Dim frmOrders As New Access.Form

某些应用程序并不能识别特别的 Microsoft Access 对象类型。既使已经在这些应用程序中设置了一个对 Microsoft Access 类型库的引用,必须声明所有 Microsoft Access 对象变量为 Object 类型。不能使用 New 关键字去创建这个对象的新实例。下面的示例显示了,不能识别 Microsoft Access 对象类型的应用程序,如何去声明一个变量用来表示 Microsoft Access Application 对象。然后应用程序创建一个 Application 对象的实例。
Dim appAccess As Object
Set appAccess = CreateObject("Access.Application")
温馨提示:答案为网友推荐,仅供参考
相似回答