excel - 逐行,如果单元格 H= 单元格 I,则删除整行
问题描述
如果单元格 H1 = 单元格 I1,则删除整行。然后下一行,单元格 H2 <> 单元格 I2,保留。然后是下一行。
如果行的两个单元格相同,我想删除整行。我进行了搜索,这是最接近我想要实现并修改代码的。
Sub CellAequalCellB ()
Dim ws As Worksheet
Dim rng As Range
Dim lastRow As Long
Set ws = ThisWorkbook.Sheets("Sheet1")
lastRow = ws.Range("A" & ws.Rows.Count).End(xlUp).Row
Set rng = ws.Range("H1:I" & lastRow)
' filter and delete all but header row
With rng
.AutoFilter field:=1, Criteria1:=" .AutoFilter field:=2 "
SpecialCells(xlCellTypeVisible).EntireRow.Delete
End With
' turn off the filters
ws.AutoFilterMode = False
End Sub
但是,当我运行时, wholerow.delete 有错误。
解决方案
您的 AutoFilter 代码有很多错误,因此我将方法更改为简单的向后循环。
sub CellAequalCellB ()
Dim ws As Worksheet, rng As Range
Dim lastRow As Long, i as long
with ThisWorkbook.Sheets("Sheet1")
lastRow = .Range("A" & .Rows.Count).End(xlUp).Row
for i=lastrow to 1 step -1
if .cells(i, "H") = .cells(i, "I") then _
.rows(i).EntireRow.Delete
next i
end with
End Sub
推荐阅读
- ruby - 运行“gem install bundler”时出现权限被拒绝错误
- meteor - 控制台日志有效,但返回在 Meteor 中无效
- reactjs - 如何使用反应组件创建滑块?
- javascript - 在 O(1) 中从数组中删除元素的方法
- c++ - 通过基指针 C++ 设计模式删除派生类
- c# - 如何通过 Microsoft.Office.Interop.Word 在 wdRevisionsViewFinal 中将 word 转换为 html?
- sql - 左连接表到解扰地址表
- javascript - 以类为目标的子类在具有类的父类中
- ios - 将本机 0.60.3 与 xcode 9.4.1 反应
- python - 如何在 django 表单中使用多选