VBA Excel 2016 中未定义子或函数
Posted
技术标签:
【中文标题】VBA Excel 2016 中未定义子或函数【英文标题】:Sub or Function not defined in VBA Excel 2016 【发布时间】:2019-01-08 07:31:31 【问题描述】:以下是我的功能:
我不知道为什么它不运行。这是我第一次使用 VBA - 我使用 MsgBox 运行了一个测试程序,并且 MsgBox 正确出现。我添加了所有可能的引用,这个 Sub 出现在我的宏列表中。只有在运行它时,我才会收到编译错误 - 并且断点在第一行代码上切换。任何和所有的帮助将不胜感激!
Sub Calculate()
Dim i As Integer
Dim j As Integer
For i = 2 To 13
For j = 1 To 12
If Cell(i, 3).Value = Cell(j, 16).Value And Cell(i, 2).Value = Cell(j, 15) Then
Cell(i, 25).Value = (Cell(i, 10).Value) / (Cell(j, 23).Value)
End If
Next j
Next i
End Sub
【问题讨论】:
细胞不是细胞。 啊,非常感谢。这让我发疯了 在 VBE 中运行Debug>Compile
之前总是编译好。如果您不限定单元格属于哪个工作表,您也可能会得到意想不到的结果。
使用Option Explicit
【参考方案1】:
正如 SJR 所说,它应该是 Cells 而不是代码中的单元格引用。
Sub Calculate()
Dim i As Integer
Dim j As Integer
For i = 2 To 13
For j = 1 To 12
If Cells(i, 3).Value = Cells(j, 16).Value And Cells(i, 2).Value = Cells(j, 15) Then
Cells(i, 25).Value = (Cells(i, 10).Value) / (Cells(j, 23).Value)
End If
Next j
Next i
End Sub
【讨论】:
以上是关于VBA Excel 2016 中未定义子或函数的主要内容,如果未能解决你的问题,请参考以下文章