热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ReDim现有的第二维数组?

如何解决《ReDim现有的第二维数组?》经验,为你挑选了1个好方法。

我在我的VBA函数中声明了一个具有动态大小的数组.由于我不能ReDim二维或更多维数组的第一个维度,我可以在集合数组中添加第二个维度吗?

这就是我动态设置数组大小的方法.

Dim nameArray() As String
Dim arrayCount As Long

For i = 1 To 100
    ReDim Preserve nameArray(1 to arrayCount)
    nameArray(arrayCount) = "Hello World"
    arrayCount = arrayCount + 1
Next i

现在我想添加第二个维度.

ReDim Preserve nameArray(1 To arrayCount, 1 To 5)

不起作用.

有解决方法吗?



1> Jean-Françoi..:

没有任何内置方法可以做到这一点.只需创建一个新的二维数组,并将现有的一维数组的内容传输到该新数组的第一行.

这就是这个函数的作用:

Function AddDimension(arr() As String, newLBound As Long, NewUBound As Long) As String()
    Dim i As Long
    Dim arrOut() As String
    ReDim arrOut(LBound(arr) To UBound(arr), newLBound To NewUBound)
    For i = LBound(arr) To UBound(arr)
        arrOut(i, newLBound) = arr(i)
    Next i
    AddDimension = arrOut
End Function

用法示例:

nameArray = AddDimension(nameArray, 1, 5)


推荐阅读
author-avatar
Jerl
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有