snrg.net
当前位置:首页 >> 在ExCEl VBA里, 定义数组并赋值,编译错误.请高手指点. >>

在ExCEl VBA里, 定义数组并赋值,编译错误.请高手指点.

数组赋值不能直接这样用 等于 某个单元格区域……要通过循环语句逐个赋值……考虑修改如下:Dim aa() As Double ReDim arr(1 To 1036) For i = 1 To 1036 arr(i) = Cells(i, 8) Next Stop 由于你使用了 动态数组 所以在赋值前 必须给它一个重新设置范围的语句 ReDim……

excel vba数组赋值主要分为一维数组赋值和二维数组赋值两方面来讲,多维数组赋值只要沿用二维的方法即可.在将vba 数组赋值的方法之前,先说下为什么要用数组的方法来写程序吧.使用excel vba数组赋值的主要目的是为了提高程序运行效

把你所有的yearfrac改为application.yearfrac即可

使用Array给数组赋值,数组必须为Variant类型(vb默认数据类型)

问题出在你的Range(Cells(2, 1), Cells(7, 5))cells里面,当你不在人物总表的时候,cells(,2,1)就是你其它表里的值了.这样修改就正常了.Sub aaa() Dim 人物签() As Variant Dim a 人物签 = Sheets("人物总表").Range(Sheets("人物总表").Cells(2, 1), Sheets("人物总表").Cells(7, 5)).Value a = 人物签(1, 5) Debug.Print aEnd Sub

Width 不能作为变量,修改一下就可以了.

用cells(row,column)比用range灵活多了,a(i) = Range("a" & i)可改成a(i) = cells(1,5+i) 'E列为第5列

我发现很多问的人都是和你一样的半瓶子,你直接说你想干什么就行了,至于用一维还是二维得看问题定.不是你说了算数的.按你的意思就是把a1:a4 a5:a6定在一个多维数组中.dim aa(1 to 4,1 to 2) 这样定义就行了,导入数就行了.

dim i as integerfor i=3 to 14 range(chr(asc("A")+i-4 ) & "219")=range("AE" & i)nextfor i=4 to 14 range(chr(asc("A")+i-4 ) & "218")=range("AF" & i)next

参考下面的代码,和你的问题有些像:Sub Test() Dim Arr(1 To 9) As Integer '定义一个下标为1,上标为9的整型数组 Dim Brr(9) As String ''定义一个下标为0,上标为9的整型数组.这里的默认下标可以在模块中用 option base来声明数组下标的缺

jingxinwu.net | pxlt.net | ndxg.net | gsyw.net | fnhp.net | 网站首页 | 网站地图
All rights reserved Powered by www.snrg.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com