【发布时间】:2018-03-14 20:08:52
【问题描述】:
我是 Excel VBA 的新手,我真的需要一些帮助。我尝试在整个网络上搜索解决方案,但找不到类似的问题。
我正在尝试创建一个宏,该宏将有助于根据某些条件删除行并继续删除行,直到满足另一个特定条件。
例如。在下表中,我想删除 Col A = 1 AND Col C = 0 的行,然后继续删除该行 UNTIL Col A = 1 下面的行和 Col C 0
A | B | C
-----|-----|-----
1 | TC | 2
-----|-----|-----
2 | TC | 1
-----|-----|-----
1 | TC | 0
-----|-----|-----
2 | TC | 2
-----|-----|-----
3 | TC | 1
-----|-----|-----
1 | TC | 2
-----|-----|-----
1 | TC | 0
-----|-----|-----
1 | TC | 1
-----|-----|-----
2 | TC | 0
-----|-----|-----
3 | TC | 2
所以宏的最终结果是:
A | B | C
-----|-----|-----
1 | TC | 2
-----|-----|-----
2 | TC | 1
-----|-----|-----
1 | TC | 2
-----|-----|-----
1 | TC | 1
-----|-----|-----
2 | TC | 0
-----|-----|-----
3 | TC | 2
理想情况下,我想通过删除 Col A = 2 和 Col C = 0 的行并删除该行下方的行,直到 Col A = 2 和 Col C 0 再循环一次。
下面是我想出的宏。接受所有建议并渴望学习。
Sub deleterow()
Range("C2").Select
Do Until ActiveCell.Offset(0, -2) = "1" And ActiveCell.Value <> "0"
If ActiveCell.Value = "0" And ActiveCell.Offset(0, -2) = "1" Then
Rows(ActiveCell.Row & ":" & Rows.Count).Delete
End If
Loop
End Sub
期待回音!
谢谢
【问题讨论】:
标签: vba excel loops conditional delete-row