0

我希望它从 Excel 电子表格调用的 VBA 函数返回多个值,但总是得到错误 #Value!

网上找到的一个例子:

Sub ReturnCellValue()
    Worksheets("Sheet1").Range("A1").Value = 3.14159
End Function

此函数返回#Value!

Function ReturnCellValue()
    Worksheets("Sheet1").Range("A1").Value = 3.14159
End Function

这行代码可以立即运行。

Worksheets("Sheet1").Range("A1").Value = 3.14159

我发现的所有例子都是子。如何从函数中调用 sub?

4

1 回答 1

2

这个功能:

Function ReturnCellValue()
    Worksheets("Sheet1").Range("A1").Value = 3.14159
End Function
  • 不返回单元格的值,而是设置单元格的值(并且 VBA 的=运算符形成语句,而不是表达式,因此您不能嵌套赋值)。
  • 不返回任何值,因为您没有返回值(通过分配给函数的名称来返回 VBA 函数中的值)。

你可能想要这个:

Function ReturnCellValue() As Variant
    ReturnCellValue = Worksheets("Sheet1").Range("A1").Value
End Function
于 2017-07-14T20:03:12.573 回答