CASN
(연결리스트와 같은 종류)을 보유 할 Collection
클래스를 생성하려고하는데, 클래스의 인스턴스화가 정확한지 확실하지 않습니다. 하지만 아래에있는 내 코드를 실행하려고 할 때마다, 나는그 자체의 콜렉션을 가진 VBA 클래스
코드 실행되고 설정하지 오류를
개체 변수 또는 With 블록을 얻을 :
If (Numbers.count > 0) Then Dim num As CASN For Each num In Numbers If (num.DuplicateOf.count > 0) Then 'ERROR HERE Debug.Print "Added " & num.REF_PO & " to list" ListBox1.AddItem num.REF_PO End If Next num End If
클래스 - CASN :
Private pWeek As String Private pVendorName As String Private pVendorID As String Private pError_NUM As String Private pREF_PO As Variant Private pASN_INV_NUM As Variant Private pDOC_TYPE As String Private pERROR_TEXT As String Private pAddressxl As Range Private pDuplicateOf As Collection '''''''''''''''' Instantiation of String, Long, Range etc. '''''''''''''''' Which I know is working fine '''''''''''''''''''''' ' DuplicateOf Property '''''''''''''''''''''' Public Property Get DuplicateOf() As Collection Set DuplicateOf = pDuplicateOf End Property Public Property Let DuplicateOf(value As Collection) Set pDuplicateOf = value End Property ''''' What I believe may be the cause
기본적으로 제가 클래스 CASN 두
Collection
의를 생성했던 나는 두 가지를 비교하고 변수.REF_PO
과 경우 관련 일치하는 값이 있는지 확인하기 위해 노력하고있다 그 클래스의DuplicateOf
컬렉션에CASN
클래스의cthisWeek
컬렉션에 추가하려는 일치입니다.바라건대 말이야 ... 내 코드가 두 점을 비교할 때이 모든 점을 잘 알고있다.
CASN
Collection
's. 나는 철저하게 모든 것을 테스트하고 몇 가지 다른 방법을 시도하고 솔루션을EDIT 찾을 수 없습니다했습니다
내 첫 번째 문제에 오류를 발견하지만 지금은 새로운 문제가 등장했습니다 .. .
는
클래스의'Private pDuplicateOf As New Collection' 또는 콜렉션 내부 인스턴스 생성하기 당신의 class_Initialize 메소드. 중복이없는 경우 빈 컬렉션을 추가하지 않는다면'pDuplicateOf'는'Nothing'이 될 것입니다 (그리고'Nothing'에'Count'를 호출 할 수 없습니다). –
@TimWilliams 따라서 클래스를 생성 할 때 do 모든 값을'Nothing' 또는'Null'으로 초기화하고 싶습니까? 'Class_Terminate'도 가져야하나요? 분명히 여기서 클래스를 제대로 생성하지 못하고있다. 또한,'Nothing'에'.Count'를 사용할 수 없다면 Collection이 비어 있는지 어떻게 체크 할까? – Maldred
내 대답보기 –