VBA学习_2:数组:同类型的多个变量的集合

摘要:
声明数组:名称、数据类型和数组大小1。通过起始和结束索引号定义数组大小指定起始索引:Public | Dim array name(aTob)作为数据类型,a和b是整数(不能是变量),分别表示数组的起始和结束索引编号,并可以保存数据的数量(b-a+1)未指定的起始索引:Public | Dim array name(a)作为数据型,定义从0到元素Dimarr(1To100)AsByte'的Byte类型,名称为arr,large

声明数组:名称、数据类型和数组大小

1、通过起始和终止索引号定义数组大小

  指定开始索引:Public | Dim 数组名称(a To b) As 数据类型, a和b为整数(不能是变量),分别表示数组的开始和终止索引号,可保存数据个个数(b-a+1)个

  未指定开始索引:Public | Dim数组名称(a) As 数据类型  ,从0开始到a个元素

Dim arr(1 To 100) As Byte   '定义一个Byte类型,名称为arr,大小为100的数组
Dim arr(99) As Byte   '定义一个Byte类型,名称为arr,大小为100的数组

2、给数组元素赋值

arr(20) = 56

声明多维数组

  指定开始索引:Public | Dim 数组名称(a To b,  x To y) As 数据类型  

  未指定开始索引:Public | Dim 数组名称(b,  y) As 数据类型   

  定义一个b行,y列的二维数组

声明动态数组

  Public | Dim 数组名称() As 数据类型 

重新定义数组大小

  ReDim 数组名称(1 To a)  只能定义大小不能修改数据类型 

创建数组的其他方法

1、使用Array函数创建数组

Sub arrytest()
    Dim arr As Variant
    arr = Array(1, 2, 3, 4)
    Msybos "arr数组的第二个元素为 : " & arr(1)
End Sub

2、使用Split函数分割字符串创建数组

Sub arrytest()
    Dim arr As Variant
    arr = Split("char,huang,car,box", ",") '第一参数是字符串,第二个参数是分割符
    Msybos "arr数组的第二个元素为 : " & arr(1)
End Sub

3、通过单元格区域创建数组(索引从1开始)

Sub arrytest()
    Dim arr As Variant
    arr = Range("A1:C3").Value '把A1:C3数据保存到数组
    Range("E1:G3").Value = arr '把数组数据保存到表格E1:G3中
    Msybos "arr数组的第二个元素为 : " & arr(1)
End Sub

数组的运算

1、UBound(数组名称,数组维度n) 数组n维度上的最大索引号(n可以缺默认第一维度)

Sub test()
    Dim arr(99) As Integer
    MsgBox UBound(arr)
End Sub

2、LBound(数组名称,数组维度n)数组n维度上的最小索引号(n可以缺默认第一维度)

Sub test()
    Dim arr(99) As Integer
    MsgBox LBound(arr)
End Sub

3、UBound(数组名称,数组维度n)-LBound(数组名称,数组维度n)+1 :n维度上数组的元素个数

4、Join(数组名称,拼接符号)函数把数组拼接为字符串(默认空格拼接)

5、把数组写入单元格区域

Range("A1").Value = arr(2)
Sub test()
    Dim arr As Variant '定义一个Variant类型的变量
    arr = Array(1, 2, 3, 4, 5)
    '把数组arr数据写入活动的工作表的A1:A5中
    Range("A1:A5").Value = Application.WorksheetFunction.Transpose(arr) 'Transpose把行数据转为列
End Sub

声明常量的同时给常量赋值

  过程内部使用Const(本地常量): Const 常量名称 As 常量类型 = 存储在常量中是数据

  模块的第一过程之前使用Const(模块级常量) :Const 常量名称 As 常量类型 = 存储在常量中是数据

  模块的第一个过程之前使用Public(公共常量):Public 常量名称 As 常量类型 = 存储在常量中是数据

免责声明:文章转载自《VBA学习_2:数组:同类型的多个变量的集合》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇opencv之视频处理VMware vSphere学习整理下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用antd Table + mobx 处理数组 出现的一系列问题

在store中定义了一个数组: @observable list = [...] 若是在table组件中直接使用list: <Table className={styles.table} columns={this.columns} dataSource={list}  /> 这时就会提示以下错误...

C语言入门阶段:教你几招如何牢记常量和变量

小伙伴们有没有想过什么是C常量,什么是C变量?为什么它们是编程世界的重要组成部分?在今天就带小伙伴一起学习和了解C语言中的常量和变量。 常量: 1、整型常量(整常数) 整型常量是整数类型的数据。可用以下三种形式表示,具体如下: 十进制整数,123,-456,0; 八进制整数,如0123,-011; 十六进制整数,如0x123,-0x12。 2、实型常...

SV中的OOP

OOP:Object-Oriented Programming,有两点个人认为适合验证环境的搭建:1)Property(变量)和Method(function/task)的封装,其实是BFM模型更方便的应          用。2)继承(Inheritance)与合成(Composition)非常适合一个架构的搭建。 在SV中,类可以定义在program,...

Java的各类型数据在内存中分配情况详解

1.      有这样一种说法,如今争锋于IT战场的两大势力,MS一族偏重于底层实现,Java一族偏重于系统架构。说法根据无从考证,但从两大势力各自的社区力量和图书市场已有佳作不难看出,此说法不虚,但掌握Java的底层实现对Java程序员来说是至关重要的,本文介绍了Java中的数据在内存中的存储。      2 内存中的堆(stack)与栈(heap) ...

Idea 软件使用快捷键归纳01

<1>CTRL+P 方法参数提示 <2>ctrl+/ 单行注释 <3>Ctrl+Alt+MIDEA 重复代码快速重构(抽取重复代码快捷键) <4>alt+enter自我修复,出现红色错误代码的解决方案(注意:光标必须定位在红色错误代码处) 可以实现自动导包 <5>ctrl+alt+L自动格式化代码...

Velocity模板引擎笔记

模板引擎中判断对象是否为空:  #if(!${jsonObj.data.buyerName} || ${jsonObj.data.buyerName} == '')         <p>采购商名称:$!jsonObj.data.buyerCompanyName</p>  #else         <p>采购商名称:$...