首页 > 解决方案 > 具有多个范围的循环

问题描述

我试图编写一个代码来确定某些单元格是否为空,然后返回一个集合字符串。

详细介绍;我希望代码能够查看单元格 B2,确定它是否为空,然后转到 C2 并确定它是否为非空。如果在单元格 B2 中两者都是正确的,那么它将输入“正确”并在该范围内继续前进。但是,我的代码似乎不起作用,因为它只是在循环范围内的每个单元格中输入“正确”。

我在下面发布了我的代码;任何帮助将非常感激。

Sub Fill_Rows()


Dim X As Range
Let Y = Range("C2")

For Each X In Range("B2:B5000")
    If X = "" And Y <> "" Then
        X = "Correct"
    End If
    Y = Y + 1
Next X


End Sub

标签: vbaexcel

解决方案


如果您打算检查每一行,例如(B2 和 C2)然后(B3 和 C3),那么您可以这样做。

Sub Fill_Rows()
    Dim iRow As Long
    For iRow = 2 To 5000
        If Cells(iRow, "B").Value = vbNullString And Cells(iRow, "C").Value <> vbNullString Then
            Cells(iRow, "B").Value = "Correct"
        End If
    Next iRow
End Sub

推荐阅读