'对于'循环给出"应用程序定义的或对象定义的错误"

时间:2015-11-20 18:23:27

标签: excel vba

出于某种原因,我无法在没有收到此消息的情况下运行简单的For循环。

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

Dim i As Integer

For i = 0 To 10

MsgBox Cells(i, 2).Value

Next i  

为什么它不允许我使用" i"?

3 个答案:

答案 0 :(得分:0)

当你的循环经历第一次迭代时,xul.color("getColor") 等于i。没有这样的0。因此,您会收到错误。

执行Cell(0,2)或将msgbox行更改为For i = 1 to 10

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

如果您要添加到该循环,或在其他地方使用MsgBox Cells(i + 1, 2).Value,可能会使用i,这样您就不会搞砸任何其他内容。

答案 1 :(得分:0)

因为单元格(0,2).value无效,这是你在循环中用于i的第一个值。

答案 2 :(得分:0)

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

Dim i As Integer

   For i = 1 To 10

      MsgBox Cells(i, 2).Value

   Next i