【发布时间】:2019-09-11 14:37:06
【问题描述】:
我需要将下图中的前 X 行可见数据复制到新工作表中,并删除已复制的每一行(而不仅仅是清除数据)。
例如,在下图中,假设我只需要过滤第 7 列后的前 7 个可见数据行。我需要将前 7 个可见行粘贴到 Fulfillment 表中,并且我需要将这些行完全删除(未清除),因为我不能留下空白行。这可能不是 7 个,而是数百个中的一个数字,需要为每个需要履行的订单重复数十次。
除了遍历整个表直到到达第 n 个可见行之外,还有其他解决方案吗?这段代码需要用数千部手机完成数百个订单,所以它不会很慢。
如果有代码只是说偏移到第 22 个可见行之类的就完美了。
我没有代码,因为此时这纯粹是概念性的。
试过这个:
msgbox Range("A362").Offset(6,0).SpecialCells(xlCellTypeVisible).Row
该代码应该返回 432,但它返回的是 1。
【问题讨论】:
-
您可以使用
SpecialCells(xlCellTypeVisible)和Offset来实现。更多关于Special Cells -
我已经试过了 - 你能给我一个特定的代码行,使用 SpecialCells(xlCellTypeVisible) 和偏移代码从单元格 A362 偏移到 A432 吗?
-
msgbox Range("A362").Offset(6,0).SpecialCells(xlCellTypeVisible).Row 该代码应该返回 432,但它返回的是 1...
-
Range("A1").Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.address -
嗨 Mikku - 似乎所有的 cmets 都不见了 - 你看到我关于相邻可见行被视为单个连续区域的最后评论 - 所以你写的代码只在你的例子中有效,因为每个的可见行后面是隐藏行,而不是像我在示例中那样有多个可见行彼此相邻?
标签: excel vba autofilter