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

news2024/12/29 9:48:04

《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


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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ArcGIS小技巧:批量加载文件夹下的所有SHP数据到当前地图框

欢迎关注同名微信公众号,更多文章推送: 一般情况下,如果要加载SHP数据,只要在工程目录栏中将其拖到当前地图框中即可。 假设这样一个场景,一个文件夹下分布着很多个SHP数据,甚至有的SHP数据位于子文件夹中…

python进阶篇-day04-闭包与装饰器

day04闭包装饰器 函数参数 函数名作为对象 细节 Python是一门以 面向对象为基础的语言, 一切皆对象, 所以: 函数名也是对象. 直接打印函数名, 打印的是函数的地址. 函数名()则是在调用函数. 函数名可以作为对象使用, 所以它可以像变量一样赋值, 且赋值后的 变量名() 和 调用…

用 BigQuery ML 和 Google Sheets 数据预测电商网站访客趋势

看看如何使用 BigQuery ML 与 Google Sheets 构建时间预测模型,为商业分析提供助力~ 电子表格无处不在!作为最实用的生产力工具之一,Google Workspace 的 Sheets 电子表格工具拥有超过 20 亿用户,可让数据的组织、计算和呈现变得轻…

如何完整删除rancher中已接入的rancher集群并重新导入

前提&#xff1a;如果手动删除kubectl delete all --all --namespace<namespace>删除不了的情况下可以使用此方案 一&#xff1a;查找rancher接入集群的所有namespace 接入rancher的k8s集群namespace都是以cattle命名的 rootA800-gpu-node01:~# kubectl get namespaces |…

32位Win7+64位Win10双系统教程来袭,真香!

前言 前段时间整了很多关于Windows双系统的教程&#xff0c;但基本都是UEFI引导启动的方式&#xff0c;安装的系统要求必须是64位Windows。 各种双系统方案&#xff08;点我跳转&#xff09; 今天咱们就来玩一玩32位 Windows 764位 Windows 10的装机方案&#xff01; 开始之…

逆向工程核心原理 Chapter23 | DLL注入

前面学的只是简单的Hook&#xff0c;现在正式开始DLL注入的学习。 0x01 DLL注入概念 DLL注入指的是向运行中的其它进程强制插入特点的DLL文件。 从技术细节上来说&#xff0c;DLL注入就是命令其它进程自行调用LoadLibrary() API&#xff0c;加载用户指定的DLL文件。 概念示…

PMP–一、二、三模、冲刺、必刷–分类–2.项目运行环境–治理

文章目录 技巧一模2.项目运行环境--4.组织系统--治理--项目组合、项目集和项目治理--项目治理是指用于指导项目管理活动的框架、功能和过程&#xff0c;从而创造独特的产品、服务或结果以满足组织、战略和运营目标。不存在一种治理框架适用于所有组织。组织应根据组织文化、项目…

【Godot4.1】自定义纯绘图函数版进度条控件——RectProgress

概述 一个纯粹基于CanvasItem绘图函数&#xff0c;重叠绘制矩形思路实现的简单进度条控件。2023年7月编写。 之所以将它作为单独的示例发出来&#xff0c;是因为它代表了一种可能性&#xff0c;就是不基于Godot内置的控件&#xff0c;而是完全用绘图函数或其他底层API形式来创…

第二百一十二节 Java反射 - Java构造函数反射

Java反射 - Java构造函数反射 以下四种方法来自 Class 类获取有关构造函数的信息: Constructor[] getConstructors() Constructor[] getDeclaredConstructors() Constructor<T> getConstructor(Class... parameterTypes) Constructor<T> getDeclaredConstructor(…

Apache SeaTunnel 2.3.7发布:全新支持大型语言模型数据转换

我们欣喜地宣布&#xff0c;Apache SeaTunnel 2.3.7 版本现已正式发布&#xff01;作为一个广受欢迎的下一代开源数据集成工具&#xff0c;Apache SeaTunnel 一直致力于为用户提供更加灵活、高效的数据同步和集成能力。此次版本更新不仅引入了如 LLM&#xff08;大型语言模型&a…

python-pptx - Python 操作 PPT 幻灯片

文章目录 一、关于 python-pptx设计哲学功能支持 二、安装三、入门1、你好世界&#xff01;例子2、Bullet 幻灯片示例3、add_textbox()示例4、add_picture()示例5、add_shape()示例6、add_table()示例7、从演示文稿中的幻灯片中提取所有文本 四、使用演示文稿1、打开演示文稿2、…

心觉:潜意识精准显化(二)赚不到钱的困境根源是什么

上一篇文章我讲到了关于潜意识精准显化系列文章&#xff0c;我会以财富的精准显化为例讲解 财富广义的讲有很多&#xff0c;智慧&#xff0c;能力&#xff0c;人生阅历&#xff0c;苦难&#xff0c;高质量的人际关系&#xff0c;金钱等等都算财富 这么多财富类型&#xff0c;…

Pinia 使用(一分钟了解)

Pinia 使用&#xff08;一分钟了解&#xff09; Pinia 官网地址&#xff1a;Pinia 官方文档 文章目录 Pinia 使用&#xff08;一分钟了解&#xff09;一、Pinia是什么二、Vue中如何使用Pinia1. 安装Pinia2. 创建Pinia实例3. 定义一个Store4. 在组件中使用Store5. 模块化和插件 …

C++红黑树的底层原理及其实现原理和实现

小编在学习完红黑树之后&#xff0c;发现红黑树的实现相对于AVL树来说会简单一点&#xff0c;并且大家在学了C中的set和map容器之后&#xff0c;会明白set和map的容器的底层就是运用的红黑树&#xff0c;因为相对于AVL树&#xff0c;红黑树的旋转次数会大大减少&#xff0c;并且…

MySQL笔记(大斌)

乐观锁和悲观锁是什么&#xff1f; 数据库中的并发控制是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。乐观锁和悲观锁是并发控制主要采用的技术手段。 悲观锁&#xff1a;假定会发生并发冲突&#xff0c;会对操作的数据进行加锁&a…

好的渲染农场应该具备哪些功能?

对于3D艺术家和工作室来说&#xff0c;渲染往往是制作过程中最耗时的部分。这一关键阶段需要强大的计算资源和高效的工作流程&#xff0c;以确保生产时间表得以满足。一个好的渲染农场对于提高生产力和确保项目在不牺牲质量的情况下按时完成至关重要。随着对详细3D视觉效果的需…

UEFI——PCD的简单使用

一、PCD的定义及概念 在UEFI固件接口中&#xff0c;PCD&#xff08;Platform Configuration Database&#xff09;是一个用于存储和访问平台特定配置信息的机制。PCD允许UEFI驱动程序和应用程序在运行时获取和设置平台相关的参数&#xff0c;而无需硬编码这些值。PCD变量可以被…

计算机毕业设计推荐-基于Java的网上电子图书管理系统【Java-python-大数据定制】

&#x1f496;&#x1f525;作者主页&#xff1a;毕设木哥 精彩专栏推荐订阅&#xff1a;在 下方专栏&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; 实战项目 文章目录 实战项目 一、基于Java的网上电子图书管理…

魏牌蓝山智驾版,长城的智能化「大反攻」

‍作者 |老缅 编辑 |德新 8月下旬&#xff0c;魏牌全新蓝山上市&#xff0c;定位「长城首款NOA智能六座旗舰SUV」。 新车分智驾Max和智驾Ultra两个版本&#xff0c;售价分别为29.98万元和32.68万元。 魏建军为蓝山的上市&#xff0c;时隔6年再度回到了发布会的舞台&#xff…

时序预测基础模型又中顶会!真心建议各位往这个方向发论文

时序领域又有新突破啦&#xff01;谷歌最新提出TimesFM&#xff0c;仅需200M参数&#xff0c;零样本预测性能超越有监督&#xff01;成功入选ICML 2024&#xff01; TimesFM是一种全新的时间序列通用基础模型&#xff0c;这类模型相比传统时序模型&#xff0c;拥有整合和利用广…