VBA中如何用EXCEL表中的数据给数组赋值
我现在已经在EXCEL中写入了我要的数据,我想在VBA中将其中的一列写入一个一维数组aaa(),有以下两个问题:命令如何写?我看了一些资料,如下写法不正确,提示无法给数组...
我现在已经在EXCEL中写入了我要的数据,我想在VBA中将其中的一列写入一个一维数组aaa(),有以下两个问题:
命令如何写?我看了一些资料,如下写法不正确,提示无法给数组赋值:
Dim aaa(1 to N) As DoubleDim arr(1 to N) As Doublearr = Sheet3.Range("D7:D9")aaa() = WorksheetFunction.Transpose(arr)
网上搜出的写法都是直接dim aaa和dim arr,没有指定长度(甚至没有括号),没有as double,这样调试出来也不行
2.假如我不是想这一列的每个数据都写进去,而是每间隔几个写进去(例如:D1,D3,D5...),如何写? 展开
命令如何写?我看了一些资料,如下写法不正确,提示无法给数组赋值:
Dim aaa(1 to N) As DoubleDim arr(1 to N) As Doublearr = Sheet3.Range("D7:D9")aaa() = WorksheetFunction.Transpose(arr)
网上搜出的写法都是直接dim aaa和dim arr,没有指定长度(甚至没有括号),没有as double,这样调试出来也不行
2.假如我不是想这一列的每个数据都写进去,而是每间隔几个写进去(例如:D1,D3,D5...),如何写? 展开
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
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询