Excel ';对于';循环给出;应用程序定义或对象定义错误“;
由于某些原因,我无法运行一个简单的For循环而不获得此消息 这是我在sub中编写的一段简单代码,每次尝试运行它时,都会收到应用程序定义或对象定义的错误消息。但是,如果我将(I,2)切换到一个像(5,2)这样的设置单元格,它会工作: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)。因此,您会得到一个错误 对
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
值。如果这对您有效,您介意标记为答案吗?