AdvancedFilter xlFilterCopy也返回空单元格

时间:2018-02-22 08:32:49

标签: excel vba excel-vba advanced-filter

您好我尝试实现高级过滤器xFiltercopy。但问题是它还需要空白数据。那么我们怎样才能避免这个问题。

这是我要过滤的代码

Columns("G:G").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("Z2"), Unique:=True

但是在粘贴的细胞上,它甚至也会占据空行。所以我需要避免空文本。我的数据现在看起来像空行

Name1
Name2
Name3

Name4
Name5

在这里您可以看到name3和name4之间有一个空白单元格。那么我们怎样才能跳过空单元格呢。

1 个答案:

答案 0 :(得分:2)

如果没有提供标准范围,则AdvancedFilter中没有忽略空格的规定。但是,从结果中识别和删除空白单元格很容易。

With Worksheets("sheet10")
    .Range(.Cells(2, "K"), .Cells(.Rows.Count, "K").End(xlUp)).clearcontents
    .Columns("G:G").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range("K2"), Unique:=True
    With .Range(.Cells(2, "K"), .Cells(.Rows.Count, "K").End(xlUp))
        If CBool(Application.CountBlank(.Cells)) Then
            .SpecialCells(xlCellTypeBlanks).Delete shift:=xlUp
        End If
    End With
End With