Loopy循环通过Excel VBA中的范围

时间:2014-03-26 19:50:32

标签: excel vba loops excel-vba

我在Excel VBA中循环一个范围。我有一个IF-Then检查一个单元格是否包含一个数字。然后我想要包含该数字的单元格的地址。问题是我的代码返回第一个带有数字的单元格。

For Each Row in Room.Rows
   If IsNumber(Row.Cells(,1)) then
      x = (Row.cells(,1))
   End If
Next Row

2 个答案:

答案 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