Excel 间歇粘贴特殊作品

Excel 间歇粘贴特殊作品,excel,vba,filter,Excel,Vba,Filter,我正在努力做到以下几点: 过滤工作表中的数据 将筛选后的数据复制到第二个工作表中 虽然“粘贴特殊”对某些过滤器很有效,但对其他过滤器不起作用。我发现当行数超过50000时,它不起作用。有解决办法吗 我目前正在使用以下代码: selection.copy sheet10.range("A1") 将内容复制到新工作表中问题说明 。每个范围都是一个完整的矩形区域。我相信这个限制会影响复制过滤范围。过滤表中的每个不可见行都会将上方和下方的区域分割为单独的范围。因此,如果您有4097行数据,并且每隔一

我正在努力做到以下几点:

  • 过滤工作表中的数据
  • 将筛选后的数据复制到第二个工作表中
  • 虽然“粘贴特殊”对某些过滤器很有效,但对其他过滤器不起作用。我发现当行数超过50000时,它不起作用。有解决办法吗

    我目前正在使用以下代码:

    selection.copy sheet10.range("A1") 
    
    将内容复制到新工作表中

    问题说明 。每个范围都是一个完整的矩形区域。我相信这个限制会影响复制过滤范围。过滤表中的每个不可见行都会将上方和下方的区域分割为单独的范围。因此,如果您有4097行数据,并且每隔一行过滤一次,您将达到Excel的极限。任何其他行都无法正确复制。我是根据你提供的有限信息猜的。你还没有说它不起作用时的结果是什么

    潜在的解决办法 您可以插入一个新列,其中包含一个基于筛选条件返回真/假值的公式,而不是仅使用筛选器。然后在筛选之前对该列上的表进行排序。通过首先对表进行排序,您可以确保所有可见数据都在一个连续的范围内,因此不复制2048个以上的范围,而只复制一个

    例如,如果我想过滤A列中以“Cat”开头的任何内容,过滤B列中小于5的任何内容,我可以编写一个公式:

    =AND(LEFT(A2,3)="Cat", B2<5)
    

    =AND(LEFT(A2,3)=“Cat”,b2我很抱歉…是的…你是对的…当它不工作时,excel会将工作表的全部内容复制到新工作表上。我会尝试一下,让你知道它是如何工作的…谢谢!但是,我想我可能会遇到的一个问题是,在一个巨大的数据集上使用if-then循环(用于标记)可能会妨碍仪表板的速度…有什么想法吗?如果你是这个意思,我不会在VBA的循环中使用if-then语句。我会使用单元格内公式对行进行分类。我会立即设置整个公式列(
    Sheet1。[B1:B50]。公式=“=和(A12)
    ”,调用
    应用程序。计算
    ,然后用计算值覆盖公式
    Sheet1。[B1:B50]=Sheet1。[B1:B50].Value
    在我对数据进行排序之前。谢谢…非常感谢…我目前正在动态更新数据透视表,以应对范围数超过2048的所有情况…但我不想使用它,因为该工具非常庞大,我想使用统一的逻辑…您使用的是数据透视表?这是您最初设计的一部分吗?您是否进行过筛选和合作一直从数据透视表进行pying?这可能会更改您排序和提取数据的选项…是和否。这是原始设计的一部分,因为我确实打算在数据透视表上显示数据。这不是使用动态报表筛选器筛选内容的计划的一部分。对于排序,我正在设计一个小按钮,该按钮将提供VBA用于对特定列进行排序的命令。。。。