2016-04-16 13 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

どのように私はタイプ "を定義する" のか?あなたのコードは私のエクセル2010

で罰金コンパイル

+3

を次の宣言です。したがって、最初の関数またはサブの前に宣言**内になければなりません。 https://msdn.microsoft.com/en-us/library/dd897495%28v=office.12%29.aspx –

+0

@AxelRichterはい、そうです。私の実際のコードでは、宣言の上に関数がありました。私は質問を投稿するときにそれが関係しているとは思っていませんでしたが、あなたが指摘しているとおりです。 – arman

答えて

1

とにかくそれはここでユーザー定義型

を活用するための役に立たないだろうタイプの定義「完全な」例

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 
関連する問題