Excel ';对于';循环给出;应用程序定义或对象定义错误“;

Excel ';对于';循环给出;应用程序定义或对象定义错误“;,excel,vba,Excel,Vba,由于某些原因,我无法运行一个简单的For循环而不获得此消息 这是我在sub中编写的一段简单代码,每次尝试运行它时,都会收到应用程序定义或对象定义的错误消息。但是,如果我将(I,2)切换到一个像(5,2)这样的设置单元格,它会工作: Dim i As Integer For i = 0 To 10 MsgBox Cells(i, 2).Value Next i 为什么它不允许我使用使用“i”的单元格?当循环经过第一次迭代时,i等于0。没有这样的单元(0,2)。因此,您会得到一个错误 对

由于某些原因,我无法运行一个简单的For循环而不获得此消息

这是我在sub中编写的一段简单代码,每次尝试运行它时,都会收到应用程序定义或对象定义的错误消息。但是,如果我将(I,2)切换到一个像(5,2)这样的设置单元格,它会工作:

Dim i As Integer

For i = 0 To 10

MsgBox Cells(i, 2).Value

Next i  

为什么它不允许我使用使用“i”的单元格?

当循环经过第一次迭代时,
i
等于
0
。没有这样的
单元(0,2)
。因此,您会得到一个错误

对i=1到10执行
,或者将msgbox行更改为
msgbox单元格(i+1,2)。值

如果不知道您还有什么其他代码,我真的不能说哪一个更可取。但是对于你展示的循环,它们是等价的


如果您要添加到该循环中,或在其他地方使用
i
,可能会使用
MsgBox单元格(i+1,2)。Value
这样您就不会弄乱任何其他内容。

因为单元格(0,2)。Value无效,这是您在循环中对i使用的第一个值。

这是因为您试图访问不存在的单元格(0,2),下面的代码应该可以工作

Dim i As Integer

   For i = 1 To 10

      MsgBox Cells(i, 2).Value

   Next i

所有行是否在第二个单元格中都有值?您提供的代码没有问题,只是单元格中可能存在
null
值。如果这对您有效,您介意标记为答案吗?