今天和大家要说的是VBA数组的基本知识点,等你学到后面就会知道,数组和字典搭配起来真的是事半功倍的啦!所以学习好数组的基本知识点也是必不可少的,基础知识有了,才能有后面的应用。

数组的基本概念

数组其实是一组拥有相同元素的的组合。我们可以使用数组名称和他在数组中的位置来指定某些特定的值。可以拥有很多的值,他们在数组内部是通过引索号进行区分的。其实数组是一个变量的存在,这个概念请好好理解。

声明数组

我们既然已经初步知道数组了,但是我们知道如何去声明数组吗?其实很简单,如下图:

以上是我们定义数组的基本方法,当然这个是定义一维数组的方法。但我们如何声明多维数组呢?如下图:

上图就是我们声明3维数组的方法。

如果我们引用三维数组的某个值,应该怎么引用?我们可以这样引用arr(1,1,1)的值。

动态数组

顾名思义,动态数组,就是数组的大小是可以改变的。我们在上面声明的都是固定大小的数组,但我我们有很多时候,并不知道我们需要使用的数组具体有多大,这个时候我们就要用动态数组了。如下就是我们声明了一个动态的数组。

动态数组需要注意的一点是,我们需要在代码中使用这个数组的时候,我们需要用在程序过程中用Redim语句去重新指定数组的大小。其实就是重新定义数组的大小,给他制定一个值。

当然定义动态数组,我们可以使用次数是没有限制的,即我们可以多次定义动态数组,但是这个时候我们重新定义了,里面原来储存的数值就会丢失。如果我们不想原来的数丢失我们需要用Preserve进行数组保存。如下图:

数组的创建

说了数组的声明,接着说数组是如何创建的。我们先看看以下几种数组创建的方法。

代码写入:我们可以看到数字已经存放在数组中了。

使用Array创建数组,直接使用常数数组,进行赋值操作。

直接赋值法,如下图:直接单元格区域的值,赋值给数组

有时候我个人更喜欢直接赋值法得到的数组方式。至于你个人更喜欢哪种,还是要看你自己的,他们的效率其实是差不多的。

数组的上标和下标

我们都知道数组的大小,那么肯定大家都想知道数组的大小,就是起始点和终点站的大小。请不要黄,我们有方法可以得到这个的大小,他就是我们的UBount和LBound函数。一起看看是如何实现 的吧!

要想知道数组arr的上界是多少,UBound(arr)

要想知道数组arr的下界是多少,LBound(arr)

是不是发现其实获得数组的大小其实非常的容易?

那我们如果想知道某一个动态数组的中的元素个数是多少?应该如何得到呢?

就是用我们的上标减去下标,然后加上1,就是我们数组中的元素个数。也即UBound(arr)- LBound(arr)+1。

写在最后的两点是我个人在学习过程中的心得:

(1)一维数组写入单元格区域时,这个单元格必须是水平方向的,也就是一个一行多列的单元格区域,如果想写入垂直区域,必须使用工作表的Transpose函数转换一下;

(2)和工作表的多单元格数组公式一样,数组写入单元格时,单元格的区域必须和数组的大小一致。

以上就是我们今天和大家说的代码的中的数组,其实VBA代码学习起来非常简单,他就是一个脚本语言的存在,他有自己的条条框框,你按照他的游戏规则来写代码就可以。如果有不明白的或者不懂的可以在下方留言,我们会一一解答的。

我是Excel教案,关注我持续分享更多的Excel技巧!

动态数组怎么定义_Excel VBA 数组基础知识,初学者不可不学的关键知识相关推荐

  1. php 三维数组合并成二维数组_Excel VBA 数组知识点,数组能不能用好,就看这个你学会没有...

    今天和大家要说的是VBA数组的应用,上篇文章我们说的是数组的基础知识点,有不明白的小伙伴可以点击链接进行知识点回顾,今天主要说说数组的几个操作方法,这个是我们以后会经常遇到的,也是经常会使用的方法. ...

  2. vba数组如何精确筛选_Excel VBA 数组知识点,数组能不能用好,就看这个你学会没有...

    今天和大家要说的是VBA数组的应用,上篇文章我们说的是数组的基础知识点,有不明白的小伙伴可以点击链接进行知识点回顾Excel VBA 数组基础知识,初学者不可不学的关键知识,今天主要说说数组的几个操作 ...

  3. 数组、数组的定义、对数组的理解

    数组.数组的定义.对数组的理解 数组:是一种容器,可以同时存放多个数据值. 数组的特点: 数组是一种引用类型数据,存放在内存中. 数组当中存放多个数据(元素),类型必须统一. (如果定义的是int类型 ...

  4. C语言基础入门48篇_30_二维数组的定义与使用(二维数组的定义:type 数组名[行][列]、二维数组的初始化、二维数组的引用)

    1. 二维数组的定义 type 数组名[行][列] 2. 二维数组的初始化 2.1 全部初始化为0 char chAry[2][3] = { 0 }; 实例: #include <stdio.h ...

  5. access vba 常量数组赋值_聊聊 VBA 数组的那些坑

    为什么使用数组? 1. 缩减工作薄文件大小,提高运行效率 一般而言只是使用 Excel 的内置工作表函数,在运算方面还是很高效的,但有时因为一个单元格牵扯的计算太多,比如调用多单元格数据,对结果文本进 ...

  6. java数组怎么定义?java数组定义方法

    有时候我们在学习java编程的时候,想定义数组,但是不知道怎么处理,或者忘记了,java数组怎么定义?本篇来简单回答一下这个问题. 本教程操作环境:windows7系统.java10版,DELL G3 ...

  7. 5.1数组的定义5.2数组的顺序表示和实现

    5.1数组的定义: 数组一旦被定义,它的维数和维界就不再改变.因此,除了结构的初始化和销毁之外,数组只有存取元素和修改元素值的操作. 5.2数组的顺序表示和实现 下面我们先来看下数组顺序存储的表示: ...

  8. 数组的定义,一维数组,二维数组与变长数组

    目录 1.数组 2.一维数组 3.二维数组 5.数组的大小 6.遍历数组 7.数组常见错误 1.数组 简介:是一种容器 <类型> 变量名称[元素数量] ( c99之前元素数量必须是整数) ...

  9. php数组怎么定义,php数组的定义、php数组的类型

    搜索热词 1.什么是PHP数组?PHP数组有哪几类 数组就是一组数据的集合,把一系列的数据组织起来,形成一个可以操作的整体. 数组中的每个元素都包含两项:键和值.可以通过键值来获取相对应的数组元素,这 ...

最新文章

  1. Kanzi常用操作3
  2. 成功解决model_selection\_search.py:584: DeprecationWarning: fit_params as a constructor argument was d
  3. 3项目里面全局用less变量 cli vue_vue-cli3 如何全局引入less变量
  4. ribbon和feign的区别
  5. 5 交换机-direct (路由)
  6. 使用react、antd组件报错TypeError: _this.formRef.current.validateFields is not a function
  7. 深度学习在处理视频上几种主要技术方法
  8. vi(vim)编辑器 学习笔记
  9. iframe父子级页面传值支持跨域访问javascript
  10. 如何用Vue实现一个全选指令
  11. CakePHP 2.x十分钟博客教程
  12. 数据库的备份与恢复技术
  13. 4.6.2 IPv6的地址
  14. android studio编程时出现的错误:Error:Execution failed for task ':app:processDebugResources'.
  15. RuntimeError: Cannot re-initialize CUDA in forked subprocess解决方法之一
  16. 关于Realtek 8821ce wireless lan 802.11ac网络适配器无法使用
  17. CSS:三种背景(斑马线,棋盘,格子)
  18. Hadoop 服务器IP地址的配置
  19. linux启动jar包报Invalid or corrupt jarfile jar错误
  20. gitblit+jenkins本地服务

热门文章

  1. 在Windows系统上安装Ruby On Rails
  2. git和其他版本控制系统的区别
  3. 完毕port(CompletionPort)具体解释 - 手把手教你玩转网络编程系列之三
  4. yii redirect
  5. 移动开发—HTML5 or Native?
  6. CentOS下实现postgresql开机自启动
  7. 虚拟机用户配置root权限
  8. 车辆贷款违约预测挑战赛
  9. 【洛谷 P1896】[SCOI2005]互不侵犯(状压dp)
  10. 关于接口测试,我们要测什么,怎么上手