繁体   English   中英

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

[英]excel vba compile error sub or function not defined

我正在运行一个简单的 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
  • cell(i, 1)应该是Cells(i, 1)

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

  • 此外,您的If语句语法也很好。

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

     Dim i As Long

作为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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM