我需要根据各种标准将行从单个工作表移动到多个目标表。我认为使用过滤器+复制/粘贴比循环遍历每一行并检查它以查看它所属的位置更快,但我不确定如何在过滤数据后获得可用范围。现在,我正在制作一系列可见的细胞,就像这样:
Set rngSuspect = ActiveSheet.Cells.SpecialCells(xlVisible)
然后粘贴它(NextRow
是Integer
持有下一个空白行号:
rngSuspect.Cut Destination:=Sheets("Suspect WWAs").Rows(NextRow)
这失败并显示消息The command you chose cannot be performed with multiple selections. Select a single range and click the command again.
我认为这与数据由于过滤的行实际分成多个区域这一事实有关。我宁愿不循环遍历范围中的每一行并单独移动它们。当然,这里有一个更优雅的解决方案......
答案 0 :(得分:3)
保持代码的解决方法:您不能剪切多个选择,但您可以复制它。然后,删除,就像 cut 那样。
此致
答案 1 :(得分:0)
我的解决方法是对工作表进行排序,以便您需要剪切或复制的所有行都相邻。可能需要相当复杂的排序,但是您可以应用过滤器,并且行应保持相邻,并且可以使用通常的可见选择代码安全地剪切或复制。