EXCEL_VBA 如何添加数组元素

EXCEL_VBA 如何添加数组元素,第1张

Dim

a

......

ReDim

Preserve

a(i)

......

定义一个数组,如果比较后发现这个数为数组内没有,就让i=i+1后,重新定义一下数组,使其元素自动+1,再把值添加进去。

不明白的地方可以Q我,40194204

1.首先在Excel电子表格中选择要分配数组的单元格。

2.n、在界面中,点击“insert”和“formcontrol”中的“button”选项。

3.在接口版本的表中生成按钮控件,修改控制的名字。

4.接下来,在界面中,点击“查看代码”选项。

5.在VBA接口中继续,并输入定义一维数组的语句。

6.然后,在VBA接口中,输入一条为单元格分配权重数组的语句。

7.最后,在这个接口中,单元格成功地显示了数组分配结果。

大家好,我们今日继续讲解VBA代码解决方案的第110讲内容:VBA数组讲解:什么是数组,如何定义数组,如何创建数组

一、什么是数组 就是数组共享一个名字,有着多个元素按顺序排列的变量。在数组中,元素通过索引加以区分。这里我把数组的元素看做变量来对待,大家要注意,这个观点在应用过程中是非常有意义的。

二、如何定义数组 声名数组同声明其他变量的方式一样,唯一不同的是数组有大小,即有多少个元素,或者说变量,还有就是要说明数组的维数。

如下面的代码:

Sub Mynzsmart()

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].Clear '清除原有数据

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

End Sub

代码截图:

运行后:

三、动态数组

在上面的讲解中我们知道,声明一个数组,必须指定数组的大小,即它是几维数组,有多少个元素。但有些时候,我们在定义数组的时候,并不能确定数组的大小,这时,我们在首次定义数组的时候括号内为空(当然先指定一个大小也是可以的,但纯属是多余),在程序过程中用Redim语句去重新指定数组的大小,这就是动态数组。

比如一个工作表的C列存储了学生姓名,现在我们需要把把有姓“王”的学生存储在数组arr中,预先我们并不知道C列姓王的学生有三十个还是五十个,所以,我们在定义时代码可以这样:

代码:

Sub MyNZsmarttwo()

Dim i%, xrow%, j%, xcount%

Dim arr() As String

erow = [c65536].End(3).Row '最后一个非空单元格行号

j = 1 '数组索引号

xcount = Application.WorksheetFunction.CountIf([c1:c65536], "王*") '统计有多少姓王的学生

ReDim arr(1 To xcount) '重新定义数组大小,元素共有xcount个


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/8010366.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存