VBA字典与数组第十八讲:VBA中静态数组的定义及创建

2024-09-02 20:12

本文主要是介绍VBA字典与数组第十八讲:VBA中静态数组的定义及创建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《VBA数组与字典方案》教程(10144533)是我推出的第三套教程,目前已经是第二版修订了。这套教程定位于中级,字典是VBA的精华,我要求学员必学。7.1.3.9教程和手册掌握后,可以解决大多数工作中遇到的实际问题。

这套字典教程共两册,一共八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是:VBA字典与数组第十八讲:VBA中静态数组的定义及创建

ef414db9d7225134dc78cde596466f50.jpeg

【分享成果,随喜正能量】面对他人的优秀,智者随喜,愚者比较。随喜他人的优秀,心里生出的是欢喜与向往,与他人的优秀做比较,心里生出的则是傲慢与偏见。要相信每个人都会有自己的闪光点,以一颗平等心,真诚的随喜他人的优秀,见贤思齐,修好自己的本领,静待自我人生的高光时刻。。

第十八讲 VBA中静态数组的定义及创建

大家好,我们今日继续讲解VBA数组与字典解决方案,今日讲解第18讲:VBA数组如何定义,又该如何创建。

从这一讲开始,我们开始进入VBA数组阶段,VBA数组和工作表数组有着不同的意义,在很大程度上,工作表数组的运算甚至可以看做是程序的运行,能够理解工作表数组的运算过程对于VBA代码的书写是非常有益的,但VBA数组在大多数情况下,只是作为变量来存储数据。这点和工作表数组有很大的不同。

1 什么是VBA数组

所谓VBA数组,就是共享一个名字,有着多个元素按顺序排列的变量。数组中的数据具有相同的类型和结构,元素通过索引加以区分。这里我把数组的元素看做变量来对待,大家要注意,这个观点在应用过程中是非常有意义的。    

2 如何定义静态数组

数组在使用前必须要进行声明,声名数组同声明其他变量的方式一样,也是用Dim语句来声明。唯一不同的是数组有大小,即有多少个元素,或者说变量,还有就是要说明数组的维数。一般情况下使用较多的是一维数组和两维数组,需要注意的是数组要以字母开头,所用的字符仅限字母、数字和下下划线,不允许出现标点符号和空格。当声明了一个数组,便决定了这个数组用于存储数数据所用的内存空间。

默认情况下数组是以0为下界,也就是Option Base 0,大多数情况下我们都是遵守此默认情况的,并且在用数组时忽略数组的第一个元素,上届不能超过LONG数据类型的范围,而且上届值不能小于下届值。

如果我们习惯了用1作为我们的下界,可以强制声明:Option Base 1,需要注意的是Option Base 0(1)必须放在所用模块之前。当然,我们也可以忽略这个强制声明,那我们就需要在声明数组时,指明数组的上界和下界,如:Dim arrSheetName(1 to 3) as String表明这个数组的上下界分别是1和3

3 VBA静态数组的声明及赋值实例

下面我们讲通过一个实例来说明数组的声明及赋值,如下面的代码:

 

Sub Mynzsz() '第18讲 VBA数组的定义及创建

Dim i As Integer, j As Integer

Dim arr(1 To 10, 1 To 2) As Integer '定义一个10*2的二维数组(10行,2列)

j = 1 '数组1 to 10的索引号

For i = 1 To 20 Step 2

arr(j, 1) = i '赋值

arr(j, 2) = i + 1 '赋值

j = j + 1 '索引号增加

Next

[a1:b65536].ClearContents '清除原有数据

[a1].Resize(10, 2) = arr '将数组赋值给A1单元格向下10行,向右2列的区域

End Sub

代码截图:

e512ba072d54d1837884f1207e73f3ea.jpeg

代码讲解:

1) Dim arr(1 To 10, 1 To 2) As Integer 这里给出了数组的范围最小的是arr(1, 1),最大的是arr(10, 2)

2 ) [a1].Resize(10, 2) = arr 将数组回填给工作表。大家是否理解arr的意义呢?我们看看下面的图:

645b0ecb09e413a065b4b69f59821784.jpeg

arr 是一个集合。这个集合包括了20个元素(或者叫变量),分别是如上的截图元素。

运行后:

230875181f57dcd0a5d123488c8062f0.jpeg

今日内容回向:

1 什么是VBA数组。

2 VBA数组如何声明?

9853eaf27f90c213764288083a439deb.jpeg

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

1e7736ef35b10d31a8643426d3f0c985.jpeg


这篇关于VBA字典与数组第十八讲:VBA中静态数组的定义及创建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1130951

相关文章

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

C++原地删除有序数组重复项的N种方法

《C++原地删除有序数组重复项的N种方法》给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度,不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(... 目录一、问题二、问题分析三、算法实现四、问题变体:最多保留两次五、分析和代码实现5.1、问题分析5.

Spring 中使用反射创建 Bean 实例的几种方式

《Spring中使用反射创建Bean实例的几种方式》文章介绍了在Spring框架中如何使用反射来创建Bean实例,包括使用Class.newInstance()、Constructor.newI... 目录1. 使用 Class.newInstance() (仅限无参构造函数):2. 使用 Construc

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Python容器类型之列表/字典/元组/集合方式

《Python容器类型之列表/字典/元组/集合方式》:本文主要介绍Python容器类型之列表/字典/元组/集合方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 列表(List) - 有序可变序列1.1 基本特性1.2 核心操作1.3 应用场景2. 字典(D

C#原型模式之如何通过克隆对象来优化创建过程

《C#原型模式之如何通过克隆对象来优化创建过程》原型模式是一种创建型设计模式,通过克隆现有对象来创建新对象,避免重复的创建成本和复杂的初始化过程,它适用于对象创建过程复杂、需要大量相似对象或避免重复初... 目录什么是原型模式?原型模式的工作原理C#中如何实现原型模式?1. 定义原型接口2. 实现原型接口3

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入

Java中数组转换为列表的两种实现方式(超简单)

《Java中数组转换为列表的两种实现方式(超简单)》本文介绍了在Java中将数组转换为列表的两种常见方法使用Arrays.asList和Java8的StreamAPI,Arrays.asList方法简... 目录1. 使用Java Collections框架(Arrays.asList)1.1 示例代码1.

Apache伪静态(Rewrite).htaccess文件详解与配置技巧

《Apache伪静态(Rewrite).htaccess文件详解与配置技巧》Apache伪静态(Rewrite).htaccess是一个纯文本文件,它里面存放着Apache服务器配置相关的指令,主要的... 一、.htAccess的基本作用.htaccess是一个纯文本文件,它里面存放着Apache服务器

Python中conda虚拟环境创建及使用小结

《Python中conda虚拟环境创建及使用小结》本文主要介绍了Python中conda虚拟环境创建及使用小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录0.前言1.Miniconda安装2.conda本地基本操作3.创建conda虚拟环境4.激活c