2016-08-04 3 views
0

오류 438 다루는 힘든 시간을 보냈습니다. 컬렉션의 모든 직원에게 급여 속성을 저장하려고합니다. clsEmployee 공개 .salary 재산이없는 경우 내가 생각할 게시 된 코드를 특정 런타임 오류가 볼 수런타임 오류 '438': 개체 vba

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 나는 환자에게 급여의 가치를이 라인에서 탁월하게 제공하고있다 : E1.salary = Sheets ("A"). 범위 (t). 값. – Zapata

답변

1

수있는 유일한 방법입니다.

은 컴파일 오류 줄 것이다이 경우
Dim E1 As clsEmployee 

대신 "방법 또는 데이터 멤버를 찾을 수 없습니다":이은에 ...에서 선언을 변경하여

Dim E1 As Variant 

을 확인할 수 있습니다 런타임 오류.

해결 방법은 존재하지 않는 속성을 추가하거나 존재하는 경우 속성을 추가하는 것입니다.

관련 문제