0

我有一张表,我在上面创建了一个带有过滤器集的列表。当我从该列表中选择一些值时,某些值会显示(可见),而其余的则被隐藏。我只想将该工作表中的所有可见数据(包括所有可见行)复制到另一个工作簿。我使用了一些代码,但它只选择工作表的第一个单元格,我需要将所有可见行复制到另一个工作簿。

Range("A1").Select
Do
ActiveCell.offset(1,0).Select
Loop While ActiveCell.EntireRow.Hidden = True
4

1 回答 1

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
  1. rRange自动过滤器范围在哪里
  2. lCol相关列在哪里。
  3. strCriteria自动筛选条件在哪里
于 2012-07-18T13:55:20.363 回答