微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

对于每个 +if (or) 语句

如何解决对于每个 +if (or) 语句

我遇到了以下问题:工作表中的三列,在 C 列中,有各种供应商名称(供应商 1、2、3、4、5 等),我想使用如果满足某些条件,for..each 与 if 语句的组合将删除整行。到目前为止,我已经想出了下面的代码

代码是这样工作的,问题是它只删除给定范围内一定数量的供应商记录。Egif 我的表中有 20 条“供应商 1”记录,代码删除了其中的 10 条,然后我必须再次手动运行代码删除其余代码。另一个问题是我的范围也可能是动态的,也许您也可以就此提出建议。我尝试将我的范围定义为整个 C 列,但从长远来看,这显然没有意义。 (而且它并没有解决必须多次运行代码的问题)

Sub peters()
Dim rng As Range
Dim cell As Range
Set rng = Sheet2.Range("C1:C37")
For Each cell In rng
If cell.Value = "supplier 1" Or cell.Value = "supplier 2" Then
cell.EntireRow.Delete
End If
Next cell
End Sub

解决方法

要保持范围动态,您可以使用:

Set rng = Sheet2.Range("A1").CurrentRegion.Columns(3)

上面的正确性将取决于数据字段的方式。 CurrentRegion 包括所有相邻的填充单元格。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。