我正在尝试执行以下操作:
虽然粘贴特效适用于某些过滤器,但它不适用于其他过滤器。我发现当行数超过50000时它不起作用。有没有解决方法呢?
我目前正在使用代码:
selection.copy sheet10.range("A1")
将内容复制到新表
答案 0 :(得分:1)
Excel 2010 can select a maximum of 2048 ranges。每个范围都是一个不间断的矩形区域。我相信这种限制会影响复制过滤范围。过滤表中的每个不可见行将上下区域分成不同的范围。因此,如果您有4097行数据并且每隔一行过滤掉一次,那么您将达到Excel的限制。任何其他行都无法正确复制。我在这里猜测你提供的有限信息。你没有说过什么结果不起作用。
您可以插入一个新列,而不是仅使用过滤器,该列的公式可根据过滤条件返回true / false值。然后在筛选之前对该列上的表进行排序。首先对表格进行排序,确保所有可见数据都在一个连续的范围内,因此不要复制2048个范围,而只复制一个。
例如,如果我想过滤A列以“Cat”开头,B列过少于5,我可能会写一个公式:
=AND(LEFT(A2,3)="Cat", B2<5)
然后我可以对该列进行排序,然后过滤为TRUE。