在类模块里: CLASS1
Public Function CLO() As Long()
Dim i&
ReDim hTmp(UBound(hq) - 1) As LongFor i = 0 To UBound(hq) - 1
hTmp(i) = hq(i).SPJ
Next
CLO = hTmpEnd FunctionPublic Function RSI(NAM As String, N As Integer, M As Integer)
ReDim HXTSJ(UBound(hq) - 1) As Long
ReDim HXTSJ1(UBound(hq) - 1)
ReDim HXTSJ2(UBound(hq) - 1)
Dim DSF As NEW CLASS1
MsgBox UBound(EMA(CallByName(DSF, NAM, VbMethod), N))红色处能用吗,如何用,谢谢!!!

解决方案 »

  1.   

    Dim DSF As NEW CLASS1 
    MsgBox UBound(EMA(CallByName(DSF, NAM, VbMethod), N)) 这种位置,作为一个值,在模块中能被引用,但在类模块中不能被引用
    DIM A() AS LONG
    Dim DSF As NEW CLASS1 
    A()=CallByName(DSF, NAM, VbMethod)
    MsgBox UBound(EMA(A(), N)) 
    但我替换了一下,就不出错。在类模块中,我想直接用MsgBox UBound(EMA(CallByName(DSF, NAM, VbMethod), N)) ,高手请看看可有方法,谢谢!!!
      

  2.   

    CallByName 返回类型是 Variant,不符合 EMA 函数的参数类型,编译错误,仅此而已。
    这与 CallByName 或在哪里引用无关。