EXCEL用VBA将单元格数值存入数组

2025-02-26 08:51:10
推荐回答(5个)
回答1:

1、首先打开一个Excel的文件,在表格中输入简单的表格,比如学生身高表格,如下图所示。

2、接着,在表格中输入一维数组的说明文字,鼠标左键单击【开发工具】菜单标签,在VBA控件下拉菜单中,并选择按钮控件,如下图所示。

3、 然后,在表格中绘制出按钮控件,并修改控件名称,比如使用一维数组的名称,如下图所示。

4、接着,选择按钮控件,并鼠标左键单击【查看代码】按钮,如下图所示。

5、然后,在代码窗口中输入VBA语句,比如输入定义一维数组的语句,并给一维数组赋值,如下图所示。

6、接着,在代码窗口中,输入一维数组给单元格赋值的VBA语句,如下图所示。

7、最后,在设计窗口上,鼠标左键单击按钮,可以看到表格中的,通过VBA程序的一维数组,并输出到身高的单元格中,显示出数据了,如下图所示。

回答2:

使用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

回答3:

使用worksheetfunction直接实现。
Dim arr
arr = WorksheetFunction.Transpose(Range("a2:b14"))
‘arr就是一个二维数组arr(1 to 2, 1 to 13)
msgbox arr(2,1)

回答4:

FOR I=1 TO RANGE("a65536").END(XLUP).ROW-x
x表示A列起始数据单元格的行号-1

回答5:

代码及注释如下:
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