gpt4 book ai didi

arrays - 从创建二维数组的 Excel 单元格中读取数组

转载 作者:行者123 更新时间:2023-12-04 21:15:15 26 4
gpt4 key购买 nike

我正在尝试将单元格值列表读取到 Excel VBA 中的数组中。我这样做是通过:

Dim varHrArray As Variant
varHrArray = Range(Cells(TITLE + 1, HR_LOCATION), Cells(TITLE + intHrLength, HR_LOCATION)).Value

虽然这可行,但它正在创建一个二维数组,我不确定究竟是为什么。这已由消息框确认, MsgBox (varHrArray(1, 1))按预期工作,但 MsgBox (varHrArray(1))给出“下标超出范围”错误并通过直接检查监 window 口中的变量 - varHrArray显示为 Variant/Variant(1 to 7, 1 to 1) (顺便说一下,7 对列表的长度是正确的)。

我不清楚为什么会发生这种情况或如何阻止它。

最佳答案

Application.Transpose是将单个列或行范围传递到一维变量数组的好方法。例如:

v = Application.Transpose(Range("A1:A5"))

请注意,您的范围已被此函数转置。这意味着列范围变为一维行变量数组,反之亦然,因此您可能希望在将其返回到工作表之前再次转置它:
Range("B1:B5").Value = Application.Transpose(v)

...或者,在开始时将其转置两次:
v = Application.Transpose(Application.Transpose(Range("A1:A5")))

关于arrays - 从创建二维数组的 Excel 单元格中读取数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45937380/

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