Excel 请确定自动筛选的复制模式

Excel 请确定自动筛选的复制模式,excel,vba,Excel,Vba,我只需要和你们确认一下 我有3000行,我的宏必须将1500到2500行的所有内容复制到其他工作表,条件是,我已经为工作表设置了自动筛选,现在一些单元格不可见,因此工作表仅显示筛选的行,因此1500到2500行中的一些行由于自动筛选模式而不可见。现在,我的宏必须复制1500到2500行的所有内容,即使这些行由于auotfilter而不可见 我刚刚对过滤后的工作表执行了正常的复制粘贴操作,它复制了1500到2500之间的所有行,这些行也是不可见的,是这样工作的吗?复制、粘贴操作复制所有单元格,即使

我只需要和你们确认一下

我有3000行,我的宏必须将1500到2500行的所有内容复制到其他工作表,条件是,我已经为工作表设置了自动筛选,现在一些单元格不可见,因此工作表仅显示筛选的行,因此1500到2500行中的一些行由于自动筛选模式而不可见。现在,我的宏必须复制1500到2500行的所有内容,即使这些行由于auotfilter而不可见

我刚刚对过滤后的工作表执行了正常的复制粘贴操作,它复制了1500到2500之间的所有行,这些行也是不可见的,是这样工作的吗?复制、粘贴操作复制所有单元格,即使设置了过滤器?我只是想确认一下,因为昨天,它只复制了过滤后的行,而今天,它复制了所有的行,所以我有点困惑


我已经在谷歌上搜索过了,但我只找到了复制可见单元格的特殊类型的自动过滤模式。与我的问题不完全一样

如果您激活了一个过滤器,并选择了完整的可见行x..y,您将注意到的不是一个闪烁帧重新显示一个范围,而是多个闪烁框。。。。实际上,手动Ctrl-C/Ctrl-V操作将只复制可见的行

对于VBA代码,它是不同的。试试这个:

Sub test()
Dim SR As Range ' source range

    ' each cell of the Autofiltered range which is visible
    For Each SR In ActiveSheet.AutoFilter.Range.SpecialCells(xlCellTypeVisible)
        ' rows between 1500 and 2500
        If SR.Row >= 1500 And SR.Row <= 2500 Then
            ' do the needfull 
            Debug.Print SR.Row
        End If
    Next SR
End Sub
子测试()
变暗SR作为“范围”源范围
'自动筛选范围内可见的每个单元格
对于ActiveSheet.AutoFilter.Range.SpecialCells(xlCellTypeVisible)中的每个SR
“1500到2500之间的行

如果SR.Row>=1500,并且SR.Row我解释得很清楚,我需要所有的日期,不仅仅是可见单元格,还要感谢您的帮助,所以您只需在ActiveSheet.AutoFilter.Range.cells中为每个SR重写for Each to