如何学习VBA_3.2.16-17:VBA中的判断函数及数组的基本概念

VBA语言専攻 2024-02-25 16:53:48

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的劳动效率,而且可以提高数据处理的准确度。我推出的VBA系列教程共九套和一部VBA汉英手册,现在已经全部完成,希望大家利用、学习。

如果您只是一般的职场VBA需求,可以打包选择7.1.3.9教程+汉英手册,第7套教程是入门,第1套教程是入门后的提高,第3套教程字典是必备的VBA之精华,第9套教程是实用的典型案例讲解。这四套教程内容掌握后足以处理一般工作中的问题,实际写代码的时候再辅助代码汉英手册,足矣!如果您想进一步提高,就需要选择高级阶段的教程了。

VBA是面向对象编程的语言,博大精深。很多朋友咨询VBA的学习方法,我会陆续给大家讲解一些我的经验,大家可以慢慢体会。今日的内容是:如何学习VBA_3.2.16-17:VBA中的判断函数及数组的基本概念

【分享成果,随喜正能量】慎易以避难,敬细以远大。谨慎地对待容易的事,足以避免危难;认真地处理细小环节,自然远离大灾祸。虑于微、防于小、杜于渐、作于细,方为人生大智慧。。

3.2.16 判断函数IsNull、IsNumeric、IsObject6 IsNull函数

返回指示表达式是否包含无效数据 (Null) 的 Boolean 值。

语法:IsNull(expression)

参数expression是必需的是一个包含数值表达式或字符串表达式的Variant 。

如果 expression 为 Null,则 IsNull 将返回 True;否则 IsNull 将返回 False。 如果 expression 由多个变量组成,则任何成员变量中的 Null 将导致为整个表达式返回 True。

Null 值指示 Variant 未包含任何有效数据。 Null 与 Empty 不同,其指示尚未初始化变量。 它与有时称为空字符串的零长度字符串 ("") 也不同。

7 IsNumeric 函数

返回指示表达式是否可评估为数值的“Boolean”值。

语法:IsNumeric(expression)

参数:expression是一个包含数值表达式或字符串表达式的Variant 。

如果整个expression被识别为数字,则“IsNumeric”返回“True”,否则,返回“False”。

如果expression是数据表达式,则“IsNumeric”返回“False”。

8 IsObject 函数

返回一个指示标识符是否表示某个对象的变量的 Boolean 值。

语法:IsObject(identifier)

参数identifier是必需的,表示变量名称。

IsObject仅用于确定Variant是否为VarType vbObject。如果变量实际引用 (或引用) 对象, 或者如果它不包含Nothing. , 则可能会出现这种情况。

如果 identifier 是一个使用 Object 类型或任何有效类类型声明的变量,或者如果 identifier 是 VarType 对象的 Variant 或是用户定义的对象,则 IsObject 会返回 True;否则会返回 False。

即使变量已被设置为 Nothing,IsObject 也会返回 True。 使用错误捕获以确保对象引用是有效的。

3.2.17 什么是数组及应用

在《VBA代码解决方案》中,我虽然讲到了数组,但比较浅,在我的第三套教程《VBA数组与字典解决方案》中会有详细的讲解,这部分是比较精华的内容,希望大家仔细地学习,数组和字典是非常值得学习的。在第一套教程中我只是简单地讲解了数组的应用。

操作 关键字

验证数组 IsArray

创建数组 Array

更改默认下限 Option Base

声明和初始化数组 Dim、Private、Public、ReDim、Static

查找数组的限制 LBound、UBound

重新初始化数组 Erase、ReDim

其中我再给大家补充一下Array 函数:

Array 函数返回一个包含数组的 Variant。

语法:Array(arglist)

必需的 arglist 参数是以逗号分隔的值的列表,这些值将分配给包含在 Variant 中的数组的元素。如果没有指定任何参数,则将创建零长度的数组。

用于引用数组元素的表示法包括变量名称,后跟包含指示所需元素的索引号的圆括号。

在以下示例中,第一个语句创建一个名为 A 的变量作为 Variant。第二个语句将数组分配给变量 A。最后的语句将包含在第二个数组元素中的值分配给另一个变量。

使用 Array 函数创建的数组的下限由通过 Option Base 语句指定的下限确定,除非使用类型库的名称(如 VBA.Array)限定 Array。 如果使用类型库名称进行限定,则 Array 不受 Option Base 的影响。

未声明为数组的 Variant 仍可包含一个数组。 Variant 变量可以包含任何类型的数组(固定长度的字符串和用户定义类型除外)。 虽然从概念上说,包含数组的 Variant 与其元素属于类型 Variant 的数组不同,但将按照相同的方式访问数组元素。

这里大家要注意Variant变量与数组的关系。经常有朋友来信问这个问题。在上面的实例中A是Variant,但是可以用数组的指标来衡量,或者说就是数组。

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

0 阅读:1