当前位置: 首页>

如何学习VBA_3.2.14: VBA中字符串的处理和判断函数

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

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

VBA是面向对象编程的语言,博大精深。很多朋友咨询VBA的学习方法,我会陆续给大家讲解一些我的经验,大家可以慢慢体会。今日的内容是:如何学习VBA_3.2.14:VBA中字符串的处理和判断函数

【分享成果,随喜正能量】人这一辈子,经历多了,忙乎到最后,都会发现,荣华富贵从来就不是幸福的必要条件,真正的幸福和逍遥,而是兜里有钱,身体没病,心里没事。得之坦然,失之淡然。活在当下,不念过往,不畏将来,才是通往幸福的最好的选择。。

3.2.14 字符串的处理

通常情况下字符串指的是一种数据的类型,在学习教程中我们要注意以下几点:

1 与在双字节字符集 (DBCS) 语言中一样,将 LenB 函数用于字符串中包含的字节数据。 LenB 返回用于表示此字符串的字节的数目,而不是返回字符串中的字符数。在与用户定义类型一起使用时,LenB 将返回内存中大小,包括各个元素之间的任何填充。

2 在与用户定义的数据类型中的可变长度字符串一起使用时,Len 无法确定所需的实际存储字节数。

3 Use the RightB function with byte data contained in a string. Instead of specifying the number of characters to return, length specifies the number of bytes。

4 与在双字节字符集语言中一样,将MidB函数用于字符串中包含的字节数据。参数将指定字节数,而不是指定字符数。有关使用 MidB 的示例代码,请参阅示例:

使用 MidB 和用户定义的函数 (MidMbcs) 返回字符串中的字符。此处的差别在于,输入字符串用 ANSI 表示,而长度用字节表示。

Function MidMbcs(ByVal str as String, start, length)

MidMbcs = StrConv(MidB(StrConv(str, vbFromUnicode), start, length), vbUnicode)

End Function

Dim MyString

MyString = "AbCdEfG"

' Where "A", "C", "E", and "G" are DBCS and "b", "d",

' and "f" are SBCS.

MyNewString = Mid(MyString, 3, 4)

' Returns "CdEf"

MyNewString = MidB(MyString, 3, 4)

' Returns "bC"

MyNewString = MidMbcs(MyString, 3, 4)

' Returns "bCd"

3.2.15 判断函数IsArray、IsDate、IsEmpty、IsEmpty、IsError、IsMissing

在VBA中有几个不一般的IS函数,我们称之为判断函数。为了补充教程上的内容,我这里给大家再次介绍:

1 IsArray 函数

返回指示变量 是否是数组的 Boolean 值。

语法:IsArray(varname)

参数:varname参数是指定变量的标识符。

“IsArray”在变量是数组时返回“True”否则返回“False”。 “IsArray”对包含数组的变量尤其有用。

2 IsDate 函数

返回真,如果表达是一个日期或可识别为有效的日期或时间;否则,它返回false。

语法:IsDate(expression)

参数:expression是一个Variant 类型的值, 其中包含可识别为日期或时间的日期表达式或字符串表达式。

需要注意的是:在 Windows 中, 有效日期的范围是公元100年1月1日至公元9999年12月31日;各操作系统的范围各不相同。

3 IsEmpty 函数

返回一个指示是否已初始化变量的布尔值。

语法: IsEmpty(expression)

参数expression是一个包含数值或字符串表达式的Variant 。 但是, 由于IsEmpty用于确定是否初始化了各个变量, 因此expression通常是单个变量名称。

备注: IsEmpty 在变量未初始化或显式设置为 Empty 时返回 True;否则,返回 False。 如果 expression 包含多个变量,则始终返回 False。 IsEmpty 仅返回变量的有用信息。

4 IsError 函数

返回一个 Boolean 值,指示表达式是否为错误值。

语法: IsError(expression)

参数:expression可以是任何有效的表达式。

备注:错误值是通过使用CVErr函数将实数转换为错误值来创建的。 IsError 函数用于确定数值表达式是否表示错误。 如果 expression 参数指示错误,则 IsError 返回 True;否则,返回 False。

5 IsMissing 函数

返回一个布尔值, 该值指示是否已将可选Variant 参数传递给过程。

语法:IsMissing(argname)

参数:argname 参数包含可选 Variant 过程参数的名称。

备注:使用 IsMissing 函数可检测调用过程时是否提供了可选 Variant 参数。 如果未为指定参数传递任何值,则 IsMissing 将返回 True;否则将返回 False。

如果 IsMissing 针对某参数返回 True,则在其他代码中使用缺少参数可能导致用户定义的错误。

如果对 ParamArray 参数使用 IsMissing,则将始终返回 False。若要检测空 ParamArray,请测试以查看数组的上限是否低于下限。

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

本文来自网络,不代表 立场,转载请注明出处。