我有一个英国每个下超级输出区域(LSOA)的数据集及其各自的总人口。此数据集中包含每个地方当局(LAD)的总数,我需要将其过滤掉,只留下每个LSOA及其人口的表格。
由于LSOA在人口中不能超过3000,选择值大于3000的所有细胞并清除它们将是解决方案吗?我想为此创建一个宏,以避免重复该过程。
答案 0 :(得分:0)
根据您的评论
我有3列。区号,区域名称和总人口,每个都有 35,104行。
我假设数据在A,B和A列中。 ç
要在没有代码的情况下执行此操作,您只需按降序对列c进行排序(将所有大数字组合在一起并且是可选的)然后筛选填充列以仅显示大于3000的行,然后您可以只选择所有可见行&安培;点击删除。 - 总共不到20秒。
要使用宏执行此操作,请尝试以下操作:
Sub deleterows()
Dim rng as range
With ActiveSheet
.AutoFilterMode = False
.Range("A1:C" & .Rows.Count).AutoFilter Field:=3, Criteria1:=">3000"
With .AutoFilter.Range
On Error Resume Next
Set Rng = .Offset(1, 0).Resize(.Rows.Count - 1, 1) _
.SpecialCells(xlCellTypeVisible)
If Not Rng Is Nothing Then Rng.EntireRow.Delete
End With
.AutoFilterMode = False
End With
End Sub