删除VBA中具有多个条件的行

  • 本文关键字:条件 VBA 删除 excel vba
  • 更新时间 :
  • 英文 :


我的目标是删除当前工作表中单元格值为 3 的行,单元格值为>0(,第 4 列的单元格值为 TRUE。我试图使用这个网站的代码,我很确定我做错了什么,上面写着ActiveSheet.DataBodyRange.SpecialCells(xlCellTypeVisible).Delete


Public Sub FilterStock()
ActiveSheet.Range("A1").AutoFilter Field:=4, Criteria1:="TRUE"
ActiveSheet.Range("A1").AutoFilter Field:=3, Criteria1:=">0"
Application.DisplayAlerts = False
ActiveSheet.DataBodyRange.SpecialCells(xlCellTypeVisible).Delete
Application.DisplayAlerts = True
ActiveSheet.AutoFilter.ShowAllData
End Sub

这段代码对我有用:

Sub DeletelRows()
Dim lastRow As Long
Dim debug1 As Variant
Dim debug2 As Variant
'Find the last non-blank cell in column C
lastRow = Cells(Rows.Count, 3).End(xlUp).Row
For x = lastRow To 2 Step -1  'Start at bottom and go up to avoid complications when the row is deleted.
debug1 = Cells(x, 3).Value  'You can set breakpoints to see what the values are.
debug2 = Cells(x, 4).Value
If (Cells(x, 3).Value > 0 And UCase(Cells(x, 4).Value) = "TRUE") Then
Rows(x).Delete
End If
Next x
End Sub

最新更新