我是VBA的新手(第一天,所以请耐心等待)。我想从雅虎财经(通过UDF)获取股票历史,然后返回值。 This tutorial解释了它,但我真的很讨厌整个按ctrl + shift +返回方法b / c你必须知道数据的长度,以及其他烦恼。
我怎么能像Bloomberg does那样只输入“= BDH(安全,字段,开始日期,结束日期)”,然后按Enter键,它会填充所有单元格? 此外,当我删除UDF时,我需要删除这些值(如Bloomberg所做的那样)。
以下代码不起作用,并且给出了“应用程序定义的或对象定义的错误”错误:
Function ms()
On Error GoTo do_error
Worksheets("Sheet1").Range("E5").Value = "hello"
ms = 12
Exit Function
do_error:
ms = Err.Description
End Function
谢谢!
答案 0 :(得分:1)
我尽量不要过多地更改你的代码,
函数返回一个变量,(或者它是一个SUB)
所以,
Function ms() as Long 'or String or whatever it returns
On Error GoTo do_error
Worksheets("Sheet1").Range("E5").Value = "hello"
ms = 12
Exit Function
do_error:
ms = Err.Description
End Function