通过自定义函数功能框,自定义一个函数:
Function test(Formula,m,n)
'系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码
test=0
test=m+n
End Function
在过程中调用:
Sub getdate()
Application.MsgOut "a72--"
dim m
dim n
m=12
n=13
aa=test(m,n)
Application.MsgOut "a73--"&aa
end sub
消息窗口仅出现:
a72-
错误提示:450
请问错误在哪?谢谢。
已解决。
初学。
原来 Function test(Formula,m,n),中的formula是可以去掉的,以为系统默认不能动。
改成:
Function test(m,n)
'系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码
test=m+n
End Function
就能运行了!
您理解错了
Function test(Formula,m,n)这个定义的函数是给pel程序调用所起的,所以第一个参数必须是公式对象
如果你直接在vba里定义函数的话不需要通过在pel自定义函数列表去定义,直接在vba模块里定义function就可以了。
你2楼的写法是纯vba之间使用,如果要和pel交互就必须是1楼用法
正在看自定义函数里给对范例,也对范例的(formula,....)有新的认识。
请推荐下相关金字塔的VBA教程
那个范例是对vba和pel交互才特别定制的,不是传统vba定义函数的例子
vba基础你百度看看就好,或者有基础的话遇到问题百度下
金字塔封装的对象,直接看帮助-vba编程信息这里都有
http://www.weistock.com/WeisoftHelp/visualbasiczidingyihanshu.htm
主要看你怎么用,你要在pel自己定义函数就看这个链接
如果你纯粹在vb界面写你的程序,你完全不需要看上面的内容
首先,谢谢您的回复。
这个说明还有里面举例的两个刚好今天都仔细的看了。
就是对他们如何交互还是不够理解。
对指标公式对描绘,pel里对函数比较全面,但输出结果到excel没办法;
输出excel,VBA现在可以做到了,但仅用vba来对指标进行编写,好像很缺乏函数,比如像cross(ma5,ma20)这个,在vba中如何实现?