VBA判断函数IsArray、IsDate、IsEmpty、IsEmpty、IsError等

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

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

VBA是面向对象编程的语言,博大精深。很多朋友咨询VBA的学习方法,我会陆续给大家讲解一些我的经验,大家可以慢慢体会。今日的内容是:3.2.15.16VBA判断函数IsArray、IsDate、IsEmpty、IsEmpty、IsError、IsMissing、IsNull、IsNumeric、IsObject

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

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

语法:IsArray(varname)

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

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

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

语法:IsDate(expression)

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

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

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

语法: IsEmpty(expression)

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

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

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

语法: IsError(expression)

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

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

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

语法:IsMissing(argname)

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

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

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

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

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

语法:IsNull(expression)

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

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

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

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

语法:IsNumeric(expression)

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

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

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

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

语法:IsObject(identifier)

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

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

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

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

分享成果,随喜正能量】人很有意思,当你讨好别人时,常常会因为自己说了违心的话而讨厌自己。但当别人讨好你的时候,即便知道别人说了违心的恭维话,你还是会很开心。 。

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

Is系列判断函数都不掌握,那就真的Out了

提起判断,大家想到的一定是If函数,但在Excel中,判断并不是If的专利,还可以是Ifs,或者Is系列函数。

一、Isblank函数。

功能:判断单元格是否为空,如果为空,则返回True,否则返回False。

语法结构:=Isblank(单元格地址)。

目的:统计员工缺勤人数。

方法:

1、在目标单元格中输入公式:=SUM(ISBLANK(D3:D9)*1)。

2、快捷键Ctrl+Shift+Enter。

解读:

首先使用Isblank函数判断D3:D9区域中的单元格是否为空,返回一个包含True和False的数组。将此数组乘以1转为包含1和0的数组,最后用Sum函数求和即可。

二、Islogical函数。

功能:用于判断指定的值是否为逻辑值,如果是,则返回True,否则返回False。

语法结构:=Islogical(值或单元格引用)。

目的:判断是否签到。

方法:

在目标单元格中输入公式:=ISLOGICAL(IF(D3<>\”\”,TRUE,\”\”))。

解读:

首先使用If函数判断D3单元格的值是否为空,如果不为空,则返回True,否则返回空值,然后用Islogical函数判断返回结果,不为空的单元格判断结果为True,所以返回结果为True,空单元格的判断结果为空,用Islogical的判断结果为False。

三、Isnumber函数。

功能:用于判断值或单元格引用的值是否为数字,如果是,则返回True,否则返回False。

语法结构:=Isnumber(值或单元格引用)。

目的:统计指定商品的销量总和。

方法:

1、在目标单元格中输入公式:=SUM(ISNUMBER(FIND(B3:B9,E3))*D3:D9)

2、Ctrl+Shift+Enter填充。

解读:

首先使用Find函数查找B3:B9单元格区域的值在E3单元格,如果出现,则返回查找到的起始位置,并作为Isnumber函数的参数,即返回True,所有返回True的单元格表示其名称都出现于E3单元格中。然后将返回的逻辑值数组与D3:D9单元格区域中的对应单元格相乘,最后用Sum函数求和。

四、Istext函数。

功能:判断值是否为文本,如果是,则返回True,否则返回False。

语法结构:=Istext(值或单元格引用)。

目的:判断员工是否签到。

方法:

在目标单元格中输入公式:=IF(ISTEXT(D3),\”已签到\”,\”\”)。

解读:

√也是文本的一种,所以用Istext判断时,返回的结果为True,然后再用If函数判断,返回“已签到\”,否则返回空值。

五、Isnontext函数。

功能:用于判断值是否为非文本,如果不是文本,则返回True,否则返回False。

语法结构:=Isnontext(值或单元格引用)。

目的:判断员工是否签到。

方法:

在目标单元格中输入公式:=IF(ISNONTEXT(D3),\”\”,\”已签到\”)。

解读:

首先使用Isnontext判断D3单元格的值是否为文本,返回结果作为If函数的条件参数,如果不是文本,则返回空值,否则返回“已签到。

六、Isformula函数。

功能:用于判断单元格是否包含公式,如果是,则返回True,否则返回False。

语法结构:=Isformula(单元格引用地址)。

注意事项:

Isformula函数是Excel 2013的新增函数,不能在10及以下版本中使用。

目的:判断单元格中的内容是否包含公式。

方法:

在目标单元格中输入公式:=ISFORMULA(E3)。

解读:

因为E列的数据都是用公式计算的,所以Isformula的返回结果为True。

七、Iseven函数。

功能:用于判断数字是否为偶数,如果是,则返回True,否则返回False。

语法结构:=Iseven(数值)。

目的:统计女销售员的人数。

方法:

1、在目标单元格中输入公式:=SUM(ISEVEN(MID(C3:C9,17,1))*1)。

2、快捷键Ctrl+Shift+Enter填充。

解读:

公式中首先用Mid函数提取身份证号码的第17位,使用Iseven判断奇偶性,然后乘以1并使用Sum函数对数组进行求和,得到女销售员的人数。

八、Isodd函数。

功能:用于判断数字是否是奇数,如果是,则返回True,否则返回False。

语法结构:=Isodd(数值)。

目的:统计男销售员的人数。

方法:

1、在目标单元格中输入公式:=SUM(ISODD(MID(C3:C9,17,1))*1)。

2、快捷键Ctrl+Shift+Enter填充。

解读:

公式中首先利用Mid函数提取身份证号码的第17位,使用Isodd函数判断奇偶性,然后乘以1并使用Sum函数对数组进行求和,得到男销售员的人数。

九、Isna函数。

功能:用于判断值是否为错误值“#N/A\” ,如果是,则返回True,否则返回False。

语法结构:=Isna(值或单元格引用)。

目的:查找销量信息。

方法:

在目标单元格中输入公式:=IF(ISNA(VLOOKUP(G3,B3:D9,3,0)),\”未找到\”,VLOOKUP(G3,B3:D9,3,0))。

解读:

公式中首先使用Vlookup函数查询G3单元格值得销量,如果G3单元格的值在B3:B9区域能够查询到,则返回对应的销量,并作为Isna函数的参数,此时Isna函数的返回结果为False,并将False作为If函数的参数,通过判断后继续执行Vlookup函数;如果G3单元格的值在B3:B9区域中未能找到,则返回”#N/A\”,并作为Isna函数的参数,此时Isna函数的返回结果为True,并将True作为If函数的参数,通过判断后返回“未找到\”。

十、Isref函数。

功能:用于判断值是否为单元格引用,如果是,则返回True,否则返回False。

语法结构:=Isref(值或单元格引用)。

目的:判断H3单元格的值是否为引用值。

方法:

在目标单元格中输入公式:=IF(ISREF(H3),\”公式引用值\”,\”\”)。

解读:

公式中首先用Isref判断H3单元格的值,结果作为If函数的条件判断参数,如果条件成立,则返回“公式引用值”,否则返回空值。

十一、Iserror函数。

功能:用于判断值是否为错误值,如果是,则返回True,否则返回False。

语法结构:=Iserror(值或单元格引用)。

目的:统计销量和。

方法:

1、在目标单元格中输入公式:=SUM(IF(ISERROR(D3:D9),0,D3:D9))。

2、Ctrl+Shift+Enter填充。

解读:

用Iserror函数判断D3:D9单元格是否有错误值,并将结果作为If函数的参数,如果有错误值,则返回0,否则返回对应的值,并用Sum函数求和。

结束语:

本文结合实际,对Isblank等11种常用的判断函数进行了解读,对于使用技巧,你Get到了吗?

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。