vba range(“A1”)。value给出#Value! 当input一个函数
我希望它从Excel电子表格中调用的VBA函数返回多个值,但总是得到错误#Value!
在网上find一个例子:
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
我发现的所有例子都是分支的。 你如何从一个函数调用一个子?
这个function:
Function ReturnCellValue() Worksheets("Sheet1").Range("A1").Value = 3.14159 End Function
- 不返回单元格的值,而是设置单元格的值(而VBA的
=
运算符形成一个语句,而不是一个expression式,所以你不能嵌套分配)。 - 不返回任何值,因为你没有返回一个值(通过赋给函数的名字,在VBA函数中返回一个值)。
你可能想要这个:
Function ReturnCellValue() As Variant ReturnCellValue = Worksheets("Sheet1").Range("A1").Value End Function