VBA 多维数组赋值给多维数组和Function多维数组赋值

现在遇到问题:1.我有一个多维动态数组ckarr(1To16,5ToE),已经在里面赋值了.现在有另一个动态数组ckarr1,我也按上面的E定义一样大小,但赋值有问题,我... 现在遇到问题:
1.我有一个多维动态数组ckarr(1 To 16, 5 To E),已经在里面赋值了.
现在有另一个动态数组ckarr1,我也按上面的E定义一样大小,
但赋值有问题,我的语句:
ckarr1() = ckarr()
但运行后提示下标越界,我想问下 多维数组赋值应该怎么赋值才对而且方便,谢谢!

2.我定义了一个
Function downbom(ByVal firname As String) As String() '最后加括号代表返回数组
最后downbom返回也是类似于上面的多维数组,
现在想赋值给ckarr2,不知道我这样写对不对:
ckarr2() = downbom(ckarr1(5, i))
我的第一个问题已经解决,是我定义时没定义好数组.要加上 "As String"

但第二个问题,ckarr2() = downbom(ckarr1(5, i))总是提示"下标越界"

我的代码太长不写出来了.大概的:
sub abc()里面的
shuzi()是数组
ckarr2() = downbom(shuzi(5,1)) 'ckarr2是全局变量

Function downbom(ByVal firname As String) As String()
dim ggg() as string

ggg()是动态数组,赋值后
redim Preserve ckarr2(....) 'ckarr2的大小跟动态数组ggg大小一样
downbom=ggg()

运行后在第1那里ckarr2总是提示下标越界
展开
 我来答
网海1书生
科技发烧友

推荐于2016-02-12 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26226

向TA提问 私信TA
展开全部
我用下面的代码运行无误,你对比一下看是什么问题,或者把你的代码放出来看看:
Dim ckarr() As String, ckarr1() As String, E As Integer
E = 10
ReDim ckarr(1 To 16, 5 To E)
ckarr(3, 7) = "1234"
ckarr(12, 9) = "abcd"
ckarr1() = ckarr()
Debug.Print UBound(ckarr1, 1)
Debug.Print UBound(ckarr1, 2)
追问
第一个问题已经解决,第二个问题请看,谢谢!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式