vba数组怎么赋值?

 我来答
仁昌爱娱乐
高粉答主

2020-02-11 · 专注关心娱乐
仁昌爱娱乐
采纳数:760 获赞数:459855

向TA提问 私信TA
展开全部

工具/材料:Microsoft Office Excel2016版,Excel表格。 

1、首先选中Excel表格中要数组赋值的单元格内容。 

2、然后在该界面中,点击“插入”里“表单控件”里“按钮”选项。 

3、再者在该界面中,在表格中生成按钮控件,修改控件名称。 

4、其次在该界面中,点击“查看代码”选项。 

5、继续在VBA界面中,输入定义一维数组的语句。 

6、然后在VBA界面中,输入给单元格赋值一维数组的语句。

7、最后在该界面中,单元格里成功显示数组赋值结果。

享街3243
2012-10-31 · TA获得超过146个赞
知道答主
回答量:103
采纳率:25%
帮助的人:107万
展开全部
Excel VBA数组赋值主要分为一维数组赋值和二维数组赋值两方面来讲,多维数组赋值只要沿用二维的方法即可。在将vba 数组赋值的方法之前,先说下为什么要用数组的方法来写程序吧。使用excel vba数组赋值的主要目的是为了提高程序运行效率,相信用vba编程的童鞋都遇到过程序运行过慢的问题,其中最主要的一个原因就是excel vba程序从头至尾都在操作对象。用excel vba对数组进行赋值,即是将对象的值及相关属性,全部存储到内存中,然后在内存里执行其他程序,这样速度会提高非常多。好了,下面说怎么给excel vba数组进行赋值吧EXCEL VBA一维数组赋值的方法int Arr(5)={1,2,3,4,5}说明:括号中的5是指数组长度,固定数组在最开始确定好数组长度,使内存分配好空间,免去重定义数组长度,效率会高些。如果不定义数组长度的话,后期可以使用redim来更改。EXCEL VBA二维数组赋值的方法Arr = [{"a","b"; "e","f" ;"i","j";"m" ,"n"}] Arr = Range(Sheets("文本1").Range("a1"), Sheets("文本1"). Range("a" & Cells(65536, 1).End(xlUp).Row))说明:两种赋值方法如上,一个是赋予固定值,另一个是将某区域内数值全部导入。EXCEL VBA重新定义数组的方法ReDim Preserve Arr(j)最后说下excel vba二维数组取数据上限的程序,如下,不过要先确定好你的数组是从0开始计数还是从1开始计数的,上面所讲数组赋值的例子都是从1开始计数的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雯吧乔
2013-08-26 · 超过55用户采纳过TA的回答
知道答主
回答量:103
采纳率:0%
帮助的人:134万
展开全部
答:二维数组赋值有两种方法,
第一种方法是单元格区域装入二维数组,如:
Arr=range("a1:b19")就可以把单元格区域的值装入数组arr
第二种就是通过循环装入,一个个数值装入。例:
向二维数组写入数据和读取
Dim x As Integer, y As Integer
Dim arr(1 To 5, 1 To 4)
For x = 1 To 5
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伤心123JK
推荐于2017-09-27 · TA获得超过116个赞
知道答主
回答量:111
采纳率:0%
帮助的人:151万
展开全部
'向VBA数组中写入数据 '1、按编号(标)写入和读取 Sub t1() '写入一维数组 Dim x As Integer Dim arr(1 To 10) arr(2) = 190 arr(10) = 5End Sub Sub t2() '向二维数组写入数据和读取 Dim x As Integer, y As Integer Dim arr(1 To 5, 1 To 4) For x = 1 To 5 For y = 1 To 4 arr(x, y) = Cells(x, y)Next yNext xMsgBox arr(3, 1)End Sub '2、动态数组Sub t3()Dim arr()Dim rowrow = Sheets("sheet2").Range("a65536").End(xlUp).row - 1 ReDim arr(1 To row) For x = 1 To row arr(x) = Cells(x, 1)Next xStopEnd Sub '3、批量写入 Sub t4() '由常量数组导入Dim arrarr = Array(1, 2, 3, "a")StopEnd Sub Sub t5() '由单元格区域导入Dim arrarr = Range("a1:d5")StopEnd Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
许诗文00
推荐于2017-09-05 · TA获得超过4290个赞
知道小有建树答主
回答量:425
采纳率:100%
帮助的人:26.5万
展开全部
字符串数组的定义:
Dim arr(1 to 3) as string
如此定义,但是不能直接给数组赋值
如果想直接给数组直接赋值,需要如下操作:
Dim arr() as Variant
arr=Array("a","b","c")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式