Excel VBA如何定义数组,这里有最全的数组定义方法
2024-06-20 0
1号
VBA中的表定义和赋值是高级编程的标志。
无论哪种编程语言,应用表格都是一个非常重要的工程。
怎么玩得熟练,每个人都有自己的玩法。
但基础知识一定要牢牢掌握。
这样您在申请过程中就不会感到困惑。
2号
首先看一下上图,这是一个分配给数组的集合。
暗淡表名
使用Dim关键字定义数组,后面的参数可以省略,表示任意大小或类型的数组。
调暗Arr(0-10)
这定义了一个一维数组,最小下标为0,最大下标为10。换句话说,Arr数组包含0-10范围内的11个变量。
您可以为每个变量分配一个值,例如:
到达(0)'1'
到达(10)10
显然,Arr(0)的值为“1”字符类型值。arr(10)的值为数值类型、整数或长整数。您可以使用typename()进行测试。
可以使用Array()函数来均匀地给数组赋值。
ArrArray('1','2','3')
用逗号分隔值。
表图1
第三名
一般来说,指定定长数组并不能完全满足我们的要求。如果我们想添加另一个表值怎么办?
使用下面的句子:
RedimArr(0-20)
ReDim代表重新定义数组,意思是将数组Arr重新定义为最小下标为0、最大下标为20的数组。
注意:这样定义的表将会被清空,并且表中之前存储的内容也会被删除。
如果我们不想清除表的内容怎么办?
使用以下定义:
ReDimPreserveArr(0to20)
此定义不会更改原始数组的内容,但会更改数组的长度。
使用二维和三维或更多维的复杂表格是否更容易?
定义方法相同,如:
昏暗Arr(0-3,0-5)
昏暗Arr(0-30-50-10)
我不会介绍使用起来很费脑力的更复杂的多维电子表格应用程序。
4号
上图显示了此示例代码。
privateSubCommandButton1Click()DimrAsRange,sAsWorksheetSetsThisWorkbookActiveSheetSetrsRange('C2')DimNewArr,roAsLong,iAsLongro7ReDimNewArr(1Toro)Fori(1Toro)TOLArr(1Toro)Fori(1Toroex0OffextBox1')ObjectValue':NewArr'VBAvbCrLf数组值:'VBAJoin(NewArr)EndSub
在循环中给一维数组赋一个值,该值就是“Matriximage1”数组的内容,可以据此查看。
下面的代码是将一些数组定义方法与重复定义相结合的示例:
PrivateSubCommandButton3Click()DimrAsRange,sAsWorksheetSetsThisWorkbookActiveSheetSetrsRange('C2')DimNewArr2,lAsLongl6ReDimNewArr2(l)NewArr2Array,F'Mallis'','A,March','六个月')'数组任务l12ReDimPreserveNewArr2(l)'设置再次调整表长度而不更改表内容NewArr2(6)'July'NewArr2(7)'August'NewArr2(8)'September'NewArr2(9)'十个月'NewArr2(10)'November'NewArr2(11)'December'sOLEObjects('TextBox1')ObjectValue'数组名称:NewArr2'VBAvbCrLf'数组值:'VBAJoin(NewArr2)EndSub
5号
数组应用是一个循序渐进的学习过程,不可能一下子就学会。
除非你很聪明并且你的大脑运转得很快。
一维表很容易理解,对应于同名变量的组合。
多维数组比较难如果学过矩阵的话就很容易理解了。
如果你的空间感知能力很强,那么这些桌子肯定对你有用。这是儿科医生!
总之,海量应用之所以如此受欢迎,是因为它们发挥了不可或缺的作用。
高性能是一回事,还要有高效率、高效的整体表现。
简而言之,学习。
稍后将介绍数组转换表的一些应用。
欢迎关注并收藏
本站文章均由用户上传或转载而来,该文章内容本站无法检测是否存在侵权,如果本文存在侵权,请联系邮箱:2287318951@qq.com告知,本站在7天内对其进行处理。