【发布时间】:2017-12-20 14:24:49
【问题描述】:
我想知道是否仅通过公式或快捷方式就可以解决此问题,或者是否需要使用 VBA。我正在使用的电子表格包含 112 行、31 列和 33 行,其中包含“Y”(Y = 正用于此报告的目的)。我正在尝试删除不包含单个“Y”的行(列 E-AA),因此只有在该行某处包含“Y”的行和人员姓名保留在电子表格中.我从其他人那里找到了一个 VBA 代码的 sn-p 代码,它产生了一些成功的结果,但没有将每一行都包含一个“Y”(我数了 33 行包含一个 Y,VBA 代码只显示了 14 行)。
我使用的代码:
Sub sbDelete_Rows_IF_Cell_Contains_String_Text_Value()
Dim lRow As Long
Dim iCntr As Long
lRow = 112
For iCntr = lRow To 1 Step -1
If Cells(iCntr, 5).Value = "N" Then
Rows(iCntr).Delete
End If
Next
End Sub
上面的代码产生了这些结果:
在其单元格中包含“Y”或“N”的感兴趣的列是 E 到 AA 列。如果我不够清楚或需要进一步详细说明,请告诉我。
【问题讨论】:
-
在您的循环中使用 COUNTIF 来计算 Y 的数量,如果等于 0,则删除该行。
标签: excel excel-formula vba