Excel 过滤空白单元格值

Excel 过滤空白单元格值,excel,vba,Excel,Vba,我正在尝试筛选非空的列,但它不适用于以下代码: ActiveSheet.Range("A:FE").AutoFilter Field:=12, Criteria1:="<>", Operator:=xlOr ActiveSheet.Range(“A:FE”)。自动筛选字段:=12,准则1:=“”,运算符:=xlOr 另外,请注意页眉顶部有6行,我不能出于其他目的删除它 我不知道它是否会影响编码如果前6行为空,则不过滤A:FE。构建您的范围,然后对其进行过滤。我猜您想在L列(字段

我正在尝试筛选非空的列,但它不适用于以下代码:

 ActiveSheet.Range("A:FE").AutoFilter Field:=12, Criteria1:="<>", Operator:=xlOr
ActiveSheet.Range(“A:FE”)。自动筛选字段:=12,准则1:=“”,运算符:=xlOr
另外,请注意页眉顶部有6行,我不能出于其他目的删除它


我不知道它是否会影响编码

如果前6行为空,则不过滤
A:FE
。构建您的范围,然后对其进行过滤。我猜您想在L列(字段:=12)上进行筛选

试试这个

Option Explicit

Sub Sample()
    Dim ws As Worksheet
    Dim lRow As Long
    Dim rng As Range

    Set ws = Sheet1 '<~~ Change this to the relevant sheet

    With ws
        .AutoFilterMode = False

        '~~> Assuming that Col A will have all cells filled up
        '~~> Else change this to the relevant column or use .Find
        '~~> to find the last row
        lRow = .Range("A" & .Rows.Count).End(xlUp).Row

        '~~> Construct your range
        Set rng = Range("A7:FE" & lRow)

        '~~> Filter it
        rng.AutoFilter Field:=12, Criteria1:="<>"
    End With
End Sub
选项显式
子样本()
将ws设置为工作表
暗淡的光线和长的一样
变暗rng As范围
设置ws=Sheet1'否则将其更改为相关列或使用。查找
“~~>以查找最后一行
lRow=.Range(“A”&.Rows.Count).End(xlUp).Row
“~~>构建您的范围
设置rng=范围(“A7:FE”和lRow)
“~~>过滤它
rng.AutoFilter字段:=12,标准1:=“”
以
端接头

但是,过滤后,我想将可见单元格复制到特定列。我可以用for循环来做,但这需要时间。这是你的第二个问题?我在你上面的主要问题中没有看到这一点?另外,如果您搜索stackoverflow,您可以得到第二个问题的答案。尝试在谷歌上搜索“可见单元格自动筛选”(visible cells autofilter)是的,我尝试过,我可以自动筛选“”,但是我不能像复制可见数据那样正确粘贴值,实际上它分成不同的部分,我不能直接粘贴。复制和粘贴过滤结果应该是另一个问题@温基图