我想写个函数:SelectMaterialCode()
调用函数后,会查询相关条件(我己决解)。
查询条件如果不止一条的话,显示自定义窗体让用户选数据。
然后把用户选择结果从函数中返回。
就像是 Msgbox 和 InputBox 那样的效果。
目前我是通过在模块中定义函数和作接口用的全局变量。
但是这个方法会暴露接口,因接口只有一个导致不能产生多个实例。
我想过把接口变量定义在类模块中,那样的话还是会产生两个模块啊。
有没有更好的方法?
我把问题总结一下吧:
一、如何能将函数和窗体封装在一起。
二、如果函数和窗体不能在同一模块,那窗体产生的数据如何传到函数内部,再由函数返回该值。
对,我就是想把这一功能封装成一个函数。
因为我想把这一功能写到加载宏中去。
有可能会同时产生多个实例。
嘿嘿,你都说对了 ,也不采纳一下 ^_^
追问我想问的是,函数和窗体之间数据怎么传?能不能封装到一个类里?或都调用函数直接写到窗体模块中等等。
行不行
不用传递啊 包括结果直接在 窗体里面运行就好了啊
追问这个函数我打算放到加载宏里的,单元格公式里用的。
追答比如窗体名字是 userform1
在里面建立一个函数是
function test(a,b)
test = a*b
end function
那么你在窗体外面的模块1里面有宏比如
sub test1()
a1=1
a2=2
a3 = userform1.test(a1,a2)
end sub
这样就可以了 a3 就是传递过来的值;也就是 1*2 结果也就是 a3 = 2
像是调用函数:
value=InputBox("Some Message")
这种函数,可以自行弹出窗口。
用户在窗口中输了值,会经函数返回给 value 变量。
我想要的就是这种效果。