gpt4 book ai didi

vba - 在 VBA 中追加动态数组

转载 作者:行者123 更新时间:2023-12-03 04:18:44 27 4
gpt4 key购买 nike

我正在循环遍历一个命名范围,并根据单元格是否为空来附加一个数组。我对VBA中的数组不太熟悉,所以也许我的逻辑不正确。该代码不断覆盖数组中的第一个元素,并且它永远不会增加。我不确定为什么 UBound(myArray) 始终保持在 0,即使在将元素分配给第一个索引后也是如此。

我的代码看起来像:

Dim myArray() As Double

ReDim Preserve myArray(0)

For Each cell In [myRange]
If cell <> "" Then
If UBound(myArray) > 0 Then
ReDim Preserve myArray(0 To UBound(myArray) + 1)
End If
myArray(UBound(myArray)) = cell.value
End If
Next

最佳答案

使用变量并递增它,当代码完成时变量大于 ubound 没有区别:

Sub Test()
Dim myArray() As Double, X As Long
X = 0
ReDim Preserve myArray(X)
For Each cell In Range("Hello")
If cell <> "" Then
ReDim Preserve myArray(0 To X)
myArray(X) = cell.Value
X = X + 1
End If
Next
End Sub

关于vba - 在 VBA 中追加动态数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28684942/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com