我在Excel VBA中循环一个范围。我有一个IF-Then检查一个单元格是否包含一个数字。然后我想要包含该数字的单元格的地址。问题是我的代码返回第一个带有数字的单元格。
For Each Row in Room.Rows
If IsNumber(Row.Cells(,1)) then
x = (Row.cells(,1))
End If
Next Row
答案 0 :(得分:0)
For Each Row in Room.Rows
If WorksheetFunction.IsNumber(range("A" & Row.row)) then
x = range("A" & Row.row).address
// do stuff with x
End If
Next Row
答案 1 :(得分:0)
1)不要使用会混淆人(变量)的变量名称
2)在每个循环示例中,您不需要添加.rows, 考虑你的命名变量' row'是一种行类型。
3)声明所有变量
4)我用另一种方法改变了代码:
Dim R as Long
Dim Rg as Range
Dim x as String
For R=1 to Room.rows.count
set Rg= Room.cells(r,1)
If IsNumeric(Rg) then
x = Rg.address
// do stuff with x
End If
Next R
set rg= nothing