2016-08-04 31 views
0

私はエラー438を扱うのに苦労しました。私は給与のプロパティをコレクションの各従業員に保存しようとしています。実行時エラー '438':オブジェクトはこのプロパティまたはメソッドをサポートしていません。

Public Sub Click() 
    Dim employee As Collection 
    Set employee = New Collection 
    Dim n As Integer 
    Dim i As Integer 
    Dim E1 As Variant 
    Dim j As Integer 
    n = 528 
    Dim t As String 

    For i = 3 To n 
     t = "T" + CStr(i) 
     Set E1 = New clsEmployee 
     E1.salary = Sheets("A").Range(t).Value 
    Next i 

    End sub 
+0

'employee'コレクションに何かを追加するコードはありません – barrowc

+1

' clsEmployee' *には 'salary'プロパティがありますか?公開ですか? – Comintern

+0

@barrowc私はこの行で患者の給料の値をexcelから与える:E1.salary = Sheets( "A")。Range(t).Value。 – Zapata

答えて

1

clsEmployeeは公共.salary性質を持っていない場合、私はおそらく掲示コードで特定の実行時エラーがあるとなって見ることができる唯一の方法。それは代わりに「見つからないメソッドまたはデータメンバ」コンパイルエラーになります。この場合

Dim E1 As clsEmployee 

:これはに... ...

Dim E1 As Variant 

から宣言を変更することで確認することができます実行時エラー。

解決策は、プロパティが存在しない場合は追加するか、存在する場合はパブリックにすることです。

関連する問題