VBA 一个数组传递到一个函数中,返回值为什么不能改变?
用VBA的时候我有一个数组,想传递到一个函数中,然后把顺序调过头来,结果回到调用的过程中,发现数组还是没有改变,求大神指点,代码如下:Subtest()DimiAsLon...
用VBA的时候我有一个数组,想传递到一个函数中,然后把顺序调过头来,结果回到调用的过程中,发现数组还是没有改变,求大神指点,代码如下:
Sub test()
Dim i As Long
Dim arr() As Double
For i = 0 To 100
ReDim Preserve arr(0 To i)
arr(i) = i
Next i
dt (arr)
Stop
End Sub
Function dt(arr)
Dim i As Long
Dim j As Long
j = UBound(arr)
Dim brr() As Double
ReDim brr(0 To j) As Double
For i = LBound(arr) To UBound(arr) Step 1
brr(i) = arr(j)
j = j - 1
Next i
Stop
For i = LBound(arr) To UBound(arr) Step 1
arr(i) = brr(i)
Next i
Stop
End Function 展开
Sub test()
Dim i As Long
Dim arr() As Double
For i = 0 To 100
ReDim Preserve arr(0 To i)
arr(i) = i
Next i
dt (arr)
Stop
End Sub
Function dt(arr)
Dim i As Long
Dim j As Long
j = UBound(arr)
Dim brr() As Double
ReDim brr(0 To j) As Double
For i = LBound(arr) To UBound(arr) Step 1
brr(i) = arr(j)
j = j - 1
Next i
Stop
For i = LBound(arr) To UBound(arr) Step 1
arr(i) = brr(i)
Next i
Stop
End Function 展开
2个回答
2020-11-26 · 百度认证:云南新华电脑职业培训学校官方账号
云南新华电脑学校
云南新华电脑学校是经云南省教育厅批准成立的省(部)级重点计算机专业学校,采用三元化管理模式,教学设备先进,师资雄厚学生毕业即就业,学院引进了电商企业入驻,创建心为电商创业园区,实现在校即创业
向TA提问
关注
展开全部
您好,你的问题,我之前好像也遇到过,以下是我原来的解决思路和方法,希望能帮助到你,若有错误,还望见谅!将Dim ClArray(1 To 100) As String
改为:Dim ClArray() As String
想要将一个数组赋值给另一个数组,确定在左侧的是大小可以调节的数组,且类型匹配。非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!
改为:Dim ClArray() As String
想要将一个数组赋值给另一个数组,确定在左侧的是大小可以调节的数组,且类型匹配。非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!
追问
大哥,我是想将一个数组掉个头比如原来是{0,1,2...100},现在掉头过后是{100,99,98...0}。我的问题不是数组给数组赋值,也不是动态数组的问题,而是用一个子函数掉头之后回到调用的过程中,数组没有变化。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询