选择过滤器的结果

时间:2018-10-18 09:47:39

标签: excel vba excel-vba

我想选择显示为过滤器结果的行,然后将其粘贴到其他excel工作表中。

我试图记录宏,但是问题是所选行始终是相同的(它们没有从过滤器显示的内容中更新)。

在VBA代码下面:

    Sub Macro6()
    '
    ' Macro6 Macro
    '

    '
    Range("B2").Select
    Selection.Copy
    Sheets("Foglio 1").Select
    ActiveSheet.Range("$A$1:$AB$31501").AutoFilter Field:=5, Criteria1:= _
      "IMMACOLATA"
    Range("F25190:J25194").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Foglio2").Select
    Range("A6").Select
    ActiveSheet.Paste
    End Sub

我该如何修复代码?

谢谢

1 个答案:

答案 0 :(得分:1)

您不能依赖静态范围,请尝试以下代码:

Sub copyFilterData()

    Dim ws As Worksheet
    Dim ws1 As Worksheet
    Set ws = ThisWorkbook.Sheets("Foglio 1")
    Set ws1 = ThisWorkbook.Sheets("Foglio2")
    ws.Range("$A$1:$AB$31501").AutoFilter Field:=5, Criteria1:= _
      "IMMACOLATA"
    ws.Range("A1:BF9999").SpecialCells(xlCellTypeVisible).Copy
    ws1.Cells(1, 1).PasteSpecial
end sub