乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>EXCEL</em> VBA的问题将某单元格的数据存入数组-excel 单元格赋值数组,

<em>EXCEL</em> VBA的问题将某单元格的数据存入数组-excel 单元格赋值数组,

作者:乔山办公网日期:

返回目录:excel表格制作


改一改

Sub test()
    Dim a() As Integer, i As Integer,k as integer
    k=1
    'Range("A65536").end(xlup).row即为A列最后有数据的行号
    For i = 1 To Range("A65536").end(xlup).row
        ReDim Preserve a(1 to k)
        a(k) = Range("A" & i).value
        k=k+1
    Next
End Sub


sheets("表名").cells(行号,列号)可获得单元格的值,其中行列号都是数字
Function bbb(b)
Dim a()
b = b & ","
i = 1
j = -1
ks = 1
js = 1
ifg = False
Do While Len(b) >= i
If Mid(b, i, 1) = "," Then
j = j + 1
ReDim Preserve a(j)
ks = js
js = i + 1
If Not ifg Then
a(j) = Mid(b, ks, js - ks - 1)
Else
m = Mid(b, ks, js - ks)
j = j + js - ks + 1
ReDim Preserve a(j)
For m = j + ks - js - 1 To j - 1
a(m) = a(m - 1) + 1
Next
End If
ElseIf Mid(b, i, 1) = "-" Then
j = j + 1
ReDim Preserve a(j)
ks = js
js = i + 1
a(j) = Mid(b, ks, js - ks - 1)
ifg = True
End If
i = i + 1
Loop
Sheet3.Cells(1, 1) = ""
For i = 0 To UBound(a)
c = c & " " & a(i)
bbb = c
Next
End Function
应该会用吧?是在代码里调用的
例如e68a84e79fa5e98193336
Sheet3.Cells(1, 1) = bbb(Sheet3.Cells(1, 2))
原始数据时在Sheet3.Cells(1, 2)里,数据要输出在Sheet3.Cells(1, 1) 里
EXCEL表的单元格区域是一个二维数组
dim arr
arr=Sheet3.Range("D7:D9")
'这时的arr得到的是二维数组
'你要转换成1维数组,先声明一个动态数组再重定义为1维数组
dim brr()
redim brr(1 to ubound(arr))
'再重新将二维转一
for i = 1 to ubound(arr)
brr(i)=arr(i,1)
next
'如果你是要间隔写进去
for i = 1 to ubound(arr) step 2
brr(i)=arr(i,1)
next

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

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

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

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

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

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

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

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网