我想定义一个以stklabel()为参数的函数。
比如图表的stklabel()返回是rb00(螺纹连续),这个函数叫sigma,sigma(stklabel())就返回一个与螺纹连续相关的值。
这个函数我已经写好了:
Function sigma(Formula,code as string)
'系统会在解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码
Code1=Left(LCase(code),1)
Code2=Left(LCase(Code),2)
if "cu" = Code2 then
sigma=0.01573750
Elseif "zn" = Code2 then
sigma=0.02080251
Elseif "au" = Code2 then
sigma=0.01651787
Elseif "cf" = Code2 then
sigma=0.00961140
Elseif "ru" = Code2 then
sigma=0.01848095
Elseif "sr" = Code2 then
sigma=0.01528973
Elseif "rb" = Code2 then
sigma=0.01461848
Elseif "er" = Code2 then
sigma=0.00707902
Elseif "fu" = Code2 then
sigma=0.01663630
Elseif "ta" = Code2 then
sigma=0.01428965
Elseif "ro" = Code2 then
sigma=0.01717132
Elseif "a" = Code1 then
sigma=0.01350464
Elseif "m" = Code1 then
sigma=0.01482739
Elseif "y" = Code1 then
sigma=0.01638256
Elseif "v" = Code1 then
sigma=0.01422112
Elseif "p" = Code1 then
sigma=0.02099730
Elseif "l" = Code1 then
sigma=0.01773463
Elseif "c" = Code1 then
sigma=0.01531951
End If
End Function
问题就出在红色的“code as string”上。
如果这个“code as string”改为"code",则code默认是数值型的变量,传进一个数值型的数,总是传进来100000,我这个函数就达不到效果。
如果保留“code as string”,又编译不过,编译器不识别"as string"。
我想请问的就是,我该如何定义一个参数类型是字符串型的变量,来达到我的目的?