VBA函数返回无值

时间:2017-09-12 21:54:28

标签: vba excel-vba excel

当我使用预先配置好的代码时,VBA中的函数返回值。例如,这个:

Sub TestFunction() 'Test Function
  MsgBox CheckCell(1)
End Sub

Function CheckCell(CellValue) As Boolean
  If IsNumeric(CellValue) Then
    CheckCell = True
  Else
    CheckCell = False
  End If
End Function

运行时正确返回值'True'(或者,根据输入'False',或者如果修改为整数,则为整数等)。

然而,对我来说,我自己编写的代码相同:

Sub TestFunction() 'Test Function
MsgBox LastRowInOneColumn()
End Sub

Function LastRowInOneColumn() As Integer
'Find the last used row in Column A
    Dim LastRow As Integer
    With ActiveSheet
        LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
        MsgBox LastRow
        Exit Function
    End With
End Function

无论我如何配置它都不起作用(添加return语句,修改输入等)。为什么?我如何执行这两个功能有什么不同?

回答一些我检查过的明显事情:

  1. A1栏中有许多值(我的样本中有14个)。

  2. 函数本身的第一个消息框提示 正确的数字,但不返回值(第二个消息框 值为0)。

  3. 这似乎发生在我写的所有功能上 我自己,即使它们看起来和我的许多样品相同 尝试过,所以我理解我必须是造成错误的人。
  4. 我在Excel 2016中使用VBA。

0 个答案:

没有答案