以隐藏模式过滤excel行(VB代码)

时间:2017-04-14 13:16:21

标签: excel filter find

我想过滤Excel中的各种行并复制它们的值而不在Excel中运行过滤器,只在VB代码中没有Excel中的可视操作。 这个过程非常慢,我想要一个更灵活的替代方案:

'
        xlSheet.Range("A1:Z100000").AutoFilter(1, "Criteria", , , False)

        xlSheet.Range("C1:F100000").Copy()

        xlSheet2.Range("A1").PasteSpecial(Paste:=XlPasteType.xlPasteValues, Operation:=XlPasteSpecialOperation.xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False)

        Application.CutCopyMode = CType(False, XlCutCopyMode)

        xlSheet.Range("A1:Z100000").AutoFilter(False)
'

有什么建议吗?谢谢!

1 个答案:

答案 0 :(得分:-1)

我想就此问题建议此代码,

Sub Exception_Review()

Application.ScreenUpdating = False Dim FilterCriteria Dim CurrentsheetName As String Dim NewFileName As String'获取当前工作表的名称CurrentsheetName = ActiveSheet.Name 范围(" A2:K25")选择。 Selection.AutoFilter Selection.AutoFilter field:= 13,Criteria1:=" No" Selection.SpecialCells(xlCellTypeVisible).Select Selection.Copy Worksheets.Add ActiveSheet.Name =" ExceptionReview"范围(" A1&#34)。选择 ActiveSheet.Paste Application.CutCopyMode = False Cells.Select Selection.Columns.AutoFit Range(" A1")。选择(CurrentsheetName)。激活Selection.AutoFilter字段:= 1  Selection.AutoFilter
范围(" A1")。选择Application.ScreenUpdating = True 结束子