gpt4 book ai didi

arrays - Excel VBA Listrow 到数组

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

我有以下 excel 2013 VBA 的代码片段

For Each r In rr
If Not r.Range.Height = 0 Then
FNum = FNum + 1
ReDim Preserve testArr(1 To FNum, 1 To 23)
testArr(FNum) = r
End If

Next r

我的目标是将过滤表中的所有可见行放入一个数组中。

该表可以是任意数量的行,但总是 23 列。

我发现如果隐藏,高度将为零。但是对于我的生活,我无法弄清楚如何将整行放入数组中。

r = 列表行
rr = 列表行

是的,我知道循环 redim 很糟糕。

SpecialCells(xlCellTypeVisible)



也不起作用,因为它停在第一个隐藏的行/列。

我可能只是将整个表转储到数组中,然后过滤数组。我还没有想出如何从表中拉出有源过滤器来应用它,但我还没有深入研究过。这就是我现在要做的,因为我被困在另一种方式上。

欢迎任何和所有的建议。

DM

最佳答案

为了避免 REDIM或双循环,您可以使用 Application.WorksheetFunction.Subtotal(3, Range("A2:A500000")) 之类的东西快速计算可见行数。

this question

关于arrays - Excel VBA Listrow 到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40867753/

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