请参阅结尾以响应 Patrick 的评论进行编辑。
抱歉,如果这是一个基本问题,但我一直在寻找这里和其他网站,但找不到答案。
这是我第一次涉足 VBA 数组(我通常是 VBA 新手),我正在努力解决一些语法问题。我正在尝试将工作表中的一些数据(单列的一部分)读取到数组中,对其进行一些处理,将其写入不同的工作表,然后用从第一张工作表中读取的更多数据覆盖数组。一个关键点是每次迭代读取的数据点数量会有所不同(例如,第一个循环上的 4 个数据点,第二个循环上的 3 个数据点……)因此数组大小也应该改变。
我对代码的尝试适用于第一次迭代,但它似乎没有在第二次循环中获取数据,而是将数组留空。这是我的代码(对不起,如果格式不正确,我目前只能通过手机访问互联网!):
Looping...
Dim DataSubSet
With ActiveWorkbook.Worksheets("Sheet1").Range("A" & CStr(I) & ":A" & CStr(io))
ReDim DataSubSet(1 To .Rows.Count, 1 To .Columns.Count)
DataSubSet = .Range ("A" & CStr(I) & ":A" & CStr(io))
End With
**Do processing**
End loop
这里 i 和 io 是确定我感兴趣的单元格的变量;它们都随着总体循环而变化。
正如我所提到的,这仅适用于第一次迭代。任何关于我哪里出错的指示将不胜感激!
在此先感谢,山姆
-------------------------------------------------- ---------------------------------
帕特里克,为了进一步澄清,这是我为说明你的观点而敲击的一个快速例程。
** 格式检查失败(仍在手机上书写)所以不让我发帖。这是文本文件中代码的 Dropbox 链接: