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

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

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

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

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

3.2.16 判断函数IsNull、IsNumeric、IsObject

6 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”。

9fd2e4d63cd1cd92de11f3f0153bdef8.jpeg

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。最后的语句将包含在第二个数组元素中的值分配给另一个变量。

7b19b05f382d27d072a1af31143fb158.jpeg

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

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

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

8013da3c78d19911d4d310226758066c.jpeg

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


5fab1943937560fea56cc75a04e5d6b7.jpeg

c9d2c6c728df408f50f7ce49de7d1857.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/490977.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

内核解读之内存管理(8)什么是page cache

文章目录 0. 文件系统的层次结构1.什么是page cache2.感观认识page cache3. Page Cache的优缺点3.1 Page Cache 的优势3.2 Page Cache 的劣势 0. 文件系统的层次结构 在了解page cache之前,我们先看下文件系统的层次结构。 1 VFS 层 VFS ( Virtual Fi…

Vue | (五)使用Vue脚手架(中)| 尚硅谷Vue2.0+Vue3.0全套教程

文章目录 📚Todo-list 案例🐇组件化编码流程(通用)🐇实现静态组件🐇展示动态数据🐇交互⭐️添加一个todo⭐️todo勾选实现⭐️删除功能实现⭐️底部统计功能实现⭐️底部全选功能实现⭐️底部一…

Linux---进程间通信(下)

1、System V 共享内存 原理如下图 系统调用接口介绍 int shmget(key_t key, size_t size, int shmflg) 功能:用来创建共享内存 参数 key:这个共享内存段名字,内核用key来标识共享内存size:共享内存大小shmflg:由九个权…

软件游戏显示d3dx9_42.dll丢失的5种解决方法,快速解决dll问题

当计算机系统中d3dx9_42.dll文件丢失时,可能会引发一系列运行问题和功能异常,具体表现形式多样且影响范围较广。首先,对于依赖于DirectX 9.0c版本的各类应用程序,尤其是部分经典的老款游戏,由于d3dx9_42.dll是其中不可…

云原生之API网关Traefik

1. 前言 说到web服务的开源网关,我首先想到的是Nginx,最早使用的就是它,现在都还在使用它。系统上线了Docker Swarm集群之后,不继续使用Nginx直接做Docker服务的网关,是因为Nginx毕竟比Docker Swarm出现的早&#xff0…

用Python实现创建十二星座数据分析图表

下面小编提供的代码中,您已经将pie.render()注释掉,并使用了pie.render_to_file(十二星座.svg)来将饼状图渲染到一个名为十二星座.svg的文件中。这是一个正确的做法,如果您想在文件中保存图表而不是在浏览器中显示它。 成功创建图表&#xf…

图解目标检测 之 【YOLOv9】 算法 最全原理详解

YOLOv9与SOTA模型对比 什么是 YOLOv9?YOLOv9是YOLO系列中的最新产品,是一种实时目标检测模型。它通过先进的深度学习技术和架构设计,包括通用 ELAN (GELAN) 和可编程梯度信息 (PGI),展现出更好的性能。 YOLO 系列通过引入计算机视…

数据结构知识点总结-绪论 数据结构基本术语 算法及评价

要求 (1)对数据结构这么课学了哪些知识有个清楚的认知; (2)掌握目录结构,能复述出来每个知识点下都有哪些内容。 如下图所示,可自行制作思维导图,针对自己薄弱的地方进行复习。 …

Gitflow:一种依据 Git 构建的分支管理工作流程模式

文章目录 前言Gitflow 背景Gitflow 中的分支模型Gitflow 的版本号管理简单模拟 Gitflow 工作流 前言 Gitflow 工作流是一种版本控制流程,主要适用于较大规模的团队。这个流程在团队中进行合作时可以避免冲突,并能快速地完成项目,因此在很多软…

14. UE5 RPG使用GameplayTag

GameplayTag本来是应用在GAS游戏技能系统里面的,后来UE直接将其抽离出来,作为一个模块,现在可以不在GAS里也可以使用这个模块。比如,我需要判断一个射线拾取的物体,首先我需要判断这个actor是否存在,然后判…

1906_ AMBA_高级MCU总线架构

1906_ AMBA_高级MCU总线架构 全部学习汇总: g_arm_cores: ARM内核的学习笔记 (gitee.com) 在看内核相关的文件的时候看到了AMBA这个缩写,查了一下具体的概念。这个其实是一个总线架构,应该是ARM设计的。我找到了相关的介绍网页: A…

Webserver解决segmentation fault(core dump)段错问问题

前言 在完成了整个项目后,我用make命令编译了server,当我运行./server文件时,出现了段错误 在大量的代码中找出错因并不是一件容易的事,尤其是对新手程序员来说。而寻找bug的过程就像是侦探调查线索追查凶手一样,我们…