1、首先打开一个Excel的文件,在表格中输入简单的表格,比如学生身高表格,如下图所示。
2、接着,在表格中输入一维数组的说明文字,鼠标左键单击【开发工具】菜单标签,在VBA控件下拉菜单中,并选择按钮控件,如下图所示。
3、 然后,在表格中绘制出按钮控件,并修改控件名称,比如使用一维数组的名称,如下图所示。
4、接着,选择按钮控件,并鼠标左键单击【查看代码】按钮,如下图所示。
5、然后,在代码窗口中输入VBA语句,比如输入定义一维数组的语句,并给一维数组赋值,如下图所示。
6、接着,在代码窗口中,输入一维数组给单元格赋值的VBA语句,如下图所示。
7、最后,在设计窗口上,鼠标左键单击按钮,可以看到表格中的,通过VBA程序的一维数组,并输出到身高的单元格中,显示出数据了,如下图所示。
使用Redim动态数组即可。
Sub test1()
Dim a() As Integer, iRow As Long, i As Integer
iRow = Cells(Rows.Count, 1).End(xlUp).Row
ReDim a(iRow - 1)
For i = 1 To UBound(a)
a(i - 1) = Range("A" & i)
Next
End Sub
使用worksheetfunction直接实现。
Dim arr
arr = WorksheetFunction.Transpose(Range("a2:b14"))
‘arr就是一个二维数组arr(1 to 2, 1 to 13)
msgbox arr(2,1)
FOR I=1 TO RANGE("a65536").END(XLUP).ROW-x
x表示A列起始数据单元格的行号-1
代码及注释如下:
Sub main()
x = Range("A65536").End(3).Row'x的值为A列中最后一个非空单元格行号
ReDim a(x)'重新定义数组a,使之上限为x
For i = 1 To x‘i从A1依次往下循环,直到最后一行
a(i - 1) = Range("A" & i)'将A列单元格值依次存放于数组中
Next
End Sub