excel vba编译错误子或函数未定义

-3 excel vba

我正在运行一个简单的for循环,但我得到了错误:

编译错误:子或函数未定义

我在vba中创建了一个模块:

Option Explicit

Sub 100group()

Dim i As Integer, E As Integer
  E = 101
  For i = 2 To 37317
    If (cell(i, 1) < E) Then cell(i, 3) = E Else E = E + 100
    End If

  Next i

End Sub
Run Code Online (Sandbox Code Playgroud)

Sam*_*Sam 6

  • cell(i, 1) 应该 Cells(i, 1)

  • 此外,sub/function.variable名称不能以数字开头.

  • 还有,你的 If语句语法很好.

  • 最后你会遇到进一步的错误,因为 i声明为Integer最多只能容纳32,768的值.所以你需要:

    Dim i As Long
    
    Run Code Online (Sandbox Code Playgroud)

作为一个 Long数据类型可以容纳最多2,147,483,647的值


总而言之,您应该使用:

Option Explicit

Sub group100()

Dim i As Long, E As Long
  E = 101
  For i = 2 To 37317
      If (Cells(i, 1) < E) Then
          Cells(i, 3) = E 
      Else 
          E = E + 100
      End If
  Next i

End Sub
Run Code Online (Sandbox Code Playgroud)