gpt4 book ai didi

vba - 如何在VBA的for循环中使用If语句?

转载 作者:行者123 更新时间:2023-12-03 00:44:25 32 4
gpt4 key购买 nike

在 D 列中,我尝试删除其中包含值的每一行。如果单元格为空,则不会删除

For 循环仅查看 D2 并删除整行,因为其中有值。然后循环停止,并且不再继续。 NumRows 值为 9324,因为 A 列中有很多行。

我陷入困境,不知道如何让循环继续。谢谢!

Dim VarDeleteLoop as long
Dim NumRows As Long


NumRows = Worksheets("Sheet").Cells(Application.Rows.Count, "A").End(xlUp).Row


For VarDeleteLoop = 2 To NumRows

Cells(VarDeleteLoop, 4).Select

If Cells(VarDeleteLoop, 4).Value = "" Then
Cells(VarDeleteLoop, 4).Select
Else
Cells(VarDeleteLoop, 4).Select
Selection.EntireRow.Delete
End If

Next VarDeleteLoop

最佳答案

当删除东西时,向后删除通常是一个更好的主意。这样,如果上一行被删除,您就不需要跟踪下一行的行号。

像这样执行 for 循环:

For VarDeleteLoop = NumRows To 2 Step -1

关于vba - 如何在VBA的for循环中使用If语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50633015/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com