【问题标题】:"Compile error: Expected: end of statement"“编译错误:预期:语句结束”
【发布时间】:2015-11-03 18:45:04
【问题描述】:

当尝试运行包含以下 if 语句的一段代码时,我收到编译错误:预期:此行的语句结束 Elself IsArray(rng(J))Then

If IsObject(rng(J)) = True Then
    TempX = rng(J).Rows.Count
    TempY = rng(J).Columns.Count
Elself IsArray(rng(J))Then
    TempX = UBound(rng(J), 1)
    TempY = UBound(rng(J), 2)
End If

尝试了一段时间,但似乎无法成功。

【问题讨论】:

  • 您缺少end if....
  • 抱歉,忘记包含了,但代码最初确实有一个end if
  • 这是Elself的错字,应该是ElseIf(大写“i”)。
  • isarray 测试变量是否为数组,你用rng(J)指向一个对象,放isarray(rng)
  • 你并不孤单@findwindow

标签: excel vba


【解决方案1】:

修正Elself 的错字,然后将End If 添加到最后(换行):

If IsObject(rng(J)) = True Then
    TempX = rng(J).Rows.Count
    TempY = rng(J).Columns.Count
ElseIf IsArray(rng(J)) Then
    TempX = UBound(rng(J), 1)
    TempY = UBound(rng(J), 2)
End If

注意:从技术上讲,您不需要 = True 位,您可以将其保留为 If IsObject(rng(J)) Then

【讨论】:

    【解决方案2】:

    应将 Elself 替换为 ElseIf(字母 I 而非 L)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多