我正在尝试使用自动过滤器删除列中包含特定值的所有行。由于某种原因,它没有按预期工作,只删除了一些具有指定值的行,我决心找出原因
我的代码很简单:
Function GetRowRange(sheet, column, value) As Range
'check for a valid section column
sheet.AutoFilterMode = False
sheet.UsedRange.AutoFilter Field:=column, Criteria1:=value
Set GetRowRange = sheet.AutoFilter.Range.SpecialCells(xlCellTypeVisible)
sheet.AutoFilterMode = False
End Function
With GetRowRange(importsheet, importsheet.UsedRange.Find("stato_4").column, "0")
.Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count).Delete
End With
更新 没有意义。我尝试将删除功能更改为:
For Each Row In GetRowRange(importsheet, importsheet.UsedRange.Find("stato_4").column, "0").Offset(1, 0).Rows
Row.EntireRow.Delete
iront = iront + 1
Next
MsgBox iront
它会识别出该范围内有 42 行(iront = 42),但它们都没有被删除