gpt4 book ai didi

arrays - ReDim 保留二维变量数组

转载 作者:行者123 更新时间:2023-12-04 22:28:41 24 4
gpt4 key购买 nike

这似乎是关于这个主题的第 100 万个问题,但搜索并没有帮助我。

我正在尝试调整二维数组的最后一个维度的大小,但在 ReDim Preserve 行中总是出现“索引超出范围”错误。

enter image description here

Dim arrCurrentDataset As Variant

For i = 0 To UBound(fileNames) - 1

strPath = fileNames(i)

Set wkbSource = Workbooks.Open(Filename:=strPath, UpdateLinks:=xlUpdateLinksNever, ReadOnly:=True, Notify:=True)
Set wksSource = wkbSource.Sheets(1)

Dim lngRows As Long
lngRows = wksSource.UsedRange.SpecialCells(xlCellTypeLastCell).Row

'Store dataset to array and afterwards increase second dimension by 2 -> create space to add Materialart and Beschaffungsart
arrCurrentDataset = wksSource.Range("A4:I" & lngRows).value
ReDim Preserve arrCurrentDataset(UBound(arrCurrentDataset, 1), UBound(arrCurrentDataset, 2) + 2)

'...

next i

我的声明有问题吗?我是否隐式尝试更改数据类型?

非常感谢你的帮助!

最佳答案

您的数组维度基于 1,但默认值为 0(除非您有 Option Base 1 语句),因此您必须在 Redim 中指定它。 :

ReDim Preserve arrCurrentDataset(1 to UBound(arrCurrentDataset, 1), 1 to UBound(arrCurrentDataset, 2) + 2)

关于arrays - ReDim 保留二维变量数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55281411/

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