使用VBA过滤工作表数据

时间:2011-11-28 22:22:10

标签: excel excel-vba excel-2007 vba

使用:Excel 2007.

问题: 电子表格包含许多列和行数据。一列称为“概率”,包含0%到100%之间的百分比值。如何编写一个有条件地删除行的宏,使其具有“概率”值小于 50%?

更新:这不能简单地通过录制宏来完成,因为百分比值会随着每次新数据上传而变化。

谢谢!

1 个答案:

答案 0 :(得分:1)

例如,如果您的概率数据位于活动工作表的A列中,则可以使用自动筛选

  1. 手动,自动过滤列,添加< 50%的条件,然后删除结果
  2. 在代码中运行相同的方法

    Sub QuickCull()
        Application.ScreenUpdating = False
        With ActiveSheet
            .AutoFilterMode = False
            .Columns("A").AutoFilter Field:=1, Criteria1:="<50%"
            .AutoFilter.Range.Offset(1, 0).EntireRow.Delete
            .AutoFilterMode = False
        End With
        Application.ScreenUpdating = True
    End Sub