我在 B 至 H 列中将值为“TRUE”。我希望我的宏在 B:H 范围内的任何单元格包含“FALSE”时在 A 列中返回“FALSE”,否则返回“TRUE”。并一直执行到最后一行。任何帮助都非常感谢!
我尝试了下面的代码,它可以适用于一行,但如何适用于所有填充的行呢?
Sub Test2()
Dim foundRng As Range
Set foundRng = Range("B2:H2").Find("FALSE")
If foundRng Is Nothing Then
Range("A2").Value = "TRUE"
Else
Range("A2").Value = "FALSE"
End If
End Sub
答案1
我修改了你的代码并包括:
- 用于查找 A 列的最后一个非空单元格的变量:
Dim lastRow As Long
。 - 然后,使用循环检查 B:H 范围的值并将结果显示在 A 列的相应行上。
Sub Test2()
Dim foundRng As Range
Dim lastRow As Long
'Find the last row with data of column A -- A is indicated with 1
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
'Loop from row 2 to the last row
For counter = 2 To lastRow
'Check the value based on the row
Set foundRng = Range("B" & counter & ":H" & counter).Find("FALSE")
If foundRng Is Nothing Then
Worksheets("Sheet1").Range("A" & counter).Value = "TRUE"
Else
Worksheets("Sheet1").Range("A" & counter).Value = "FALSE"
End If
Next counter
End Sub