我挠头完成我的这个 vba 脚本并陷入困境:
在sheet1中,我有一个大表(非结构化),范围为A1:BY1200,第1行包含已过滤的标题。现在我只需要将过滤后的范围存储到数组中并将数组数据写回不同的工作簿。以下是我实现上述目标的半完整代码:
我的谜题:
我已经阅读了一些类似场景的帖子,但没有一个完全满足我的情况的所有要求。有人在其他帖子中建议在循环过滤范围以记录到数组中时使用 Areas 方法。
提前谢谢了。
注意:过滤后,过滤范围内有不相邻的行
Sub StoreFilteredRangeInArray()
Dim rCell as Range, rData as Range, rArea as Range
Dim i as Long
with Activesheetset
set rData = .range("A1").CurrentRegion
Dim rFiltered as Range
rData.autofilter Field:=1, Criteria1:="<>"
with rData
set rFiltered = .offset(1,0).Resize(.Rows.count -1, .Column.count).SpecialCells(xlCellTypeVisible)
end with
Dim myArray() as variant
...(get stuck here)
end with
End Sub
Run Code Online (Sandbox Code Playgroud)