在VBA中,动态数组可以使用ReDim语句进行重新定义大小,从而实现动态调整数组大小的功能。为了保留原始值,可以将原始数组的值复制到新的数组中。

以下是一个示例代码,演示如何动态调整数组大小并保留原始值:

Sub ResizeArrayAndPreserveValues()

    Dim arr() As Integer
    Dim i As Integer
    
    '初始化数组
    ReDim arr(1 To 5)
    For i = 1 To 5
        arr(i) = i
    Next i
    
    '输出原始数组
    Debug.Print "Original Array:"
    For i = 1 To UBound(arr)
        Debug.Print arr(i)
    Next i
    
    '重新定义数组大小并保留原始值
    ReDim Preserve arr(1 To 7)
    
    '将原始值复制到新数组中
    For i = 1 To UBound(arr) - 2
        arr(i) = arr(i)
    Next i
    
    '输出新数组
    Debug.Print "Resized Array:"
    For i = 1 To UBound(arr)
        Debug.Print arr(i)
    Next i

End Sub

在上面的代码中,我们首先初始化了一个包含5个元素的数组,并将其值设置为1到5。然后,我们使用ReDim语句将数组大小调整为7,并使用Preserve关键字保留原始值。最后,我们将原始数组中的值复制到新数组中,以保留原始值。最终,我们输出原始数组和重新调整大小后的数组,以进行比较。


原文地址: https://www.cveoy.top/t/topic/m5Vh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录