我有一张工作表,我在其上创建了一个带有过滤器集的列表。当我从该列表中选择一些值时,会显示某些值(可见),其余值将被隐藏。我只想将该表中的所有可见数据(包括所有可见行)复制到另一个工作簿。 我使用了一些代码,但它只选择了工作表的第一个单元格,我需要将所有可见行复制到另一个工作簿。
Range("A1").Select
Do
ActiveCell.offset(1,0).Select
Loop While ActiveCell.EntireRow.Hidden = True
答案 0 :(得分:1)
试试这个
'~~> Remove any filters
ActiveSheet.AutoFilterMode = False
'~~> Filter, offset(to exclude headers)
With rRange
.AutoFilter Field:=lCol, Criteria1:=strCriteria
.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Copy
'
'~~> Do whatever you want to do witht he copied rows
'
End With
'~~> Remove any filters
ActiveSheet.AutoFilterMode = False
rRange
是自动过滤范围lCol
是相关列。strCriteria
是自动过滤条件