复制.SpecialCells(xlCellYypeVisible)

时间:2015-11-27 12:48:24

标签: excel-vba copy-paste vba excel

可以告诉我为什么这段代码也在复制无可见数据。

    Sub Copy ()
    Range(ActiveCell,ActiveCell.Offset(LIRS_Required,7)).SpecialCells(xlCellTypeVisible, xlTextValues).Copy
    End Sub

我只希望在表格过滤后显示可见数据。

此致

1 个答案:

答案 0 :(得分:1)

因为.offset()不会跳过隐藏的单元格。

尝试此解决方法:

Sub Copy()
    Dim rng As Range
    Set rng = ActiveCell.Resize(LIRS_Required + 1)
    While rng.SpecialCells(xlCellTypeVisible).Count < LIRS_Required + 1
        Set rng = rng.Resize(rng.Count + LIRS_Required + 1 - rng.SpecialCells(xlCellTypeVisible).Count)
    Wend
    rng.Resize(, 7 + 1).SpecialCells(xlCellTypeVisible).Copy
End Sub