我使用这种语法(其中 pLO 是列表对象)根据可见行返回 listObject(Excel 表)的 Excel.range:
Set returnUniqueList = pLO.range.SpecialCells(xlCellTypeVisible).EntireRow
这发生在我对列进行高级过滤之后。我可以看到高级过滤器已经工作,并且通过目视检查返回了正确的行数。
问题是上面的代码片段返回了一个包含许多区域的范围,其中可能包含这些区域中的重叠行!因此,如果我遍历返回范围内的所有区域,我会得到重复。我怎样才能只返回可见行,或者在随后的迭代期间过滤掉重复项?
编辑* * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * *
Erik,有关重叠的更多信息。上面的 returnUniqueList 范围将包含许多“区域”对象。这些编号可以从 1 到 n,其中“n”可以超过我原始表中可见行的数量。
这些区域中的每一个也是一个范围(因此也可以包含区域 1..n !!!)。查看这些区域中的行,Area(1) 可能包含与 Area(2) 相同的行!
结束编辑* * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ****
我不能对不同的范围进行高级过滤,因为我需要返回过滤表的价值。
我希望这是有道理的。
干杯,
拉兹马塔兹