2016-04-16 77 views
1

下面簡單的例子不工作:如何在功能中使用用戶定義類型?

Public Type MyType 
    a As Double 
    b As Integer 
End Type 

Function Test() As Variant 
    Dim x As MyType 
    Test = 2 
End Function 

Compile Error: User-defined type not defined

如何 「定義」 的類型?

+3

類型定義是一個聲明。所以它必須在**第一個函數或子之前的聲明**之內。請參閱https://msdn.microsoft.com/en-us/library/dd897495%28v=office.12%29.aspx –

+0

@AxelRichter是的,你是對的。在我的實際代碼中,我在函數上面有一個函數。發佈這個問題時,我認爲這不是相關的,但正如你指出的那樣。 – arman

回答

1

你的代碼在我的Excel編譯罰款2010

無論如何它會是沒有用的了利用用戶定義類型

這裏有個「完整」的例子

Option Explicit 

Public Type MyType 
    a As Double 
    b As Integer 
End Type 

Sub main() 
    Dim x As MyType 

    'initialize fields of your type 
    x.a = 1.2 
    x.b = 1 

    MsgBox Test(x) 
End Sub 


Function Test(x As MyType) As Variant 

    Test = x.a + x.b 

End Function