나는 여러 CSV 파일을 구문 분석하여 함께 병합 한 새 워크 시트에 침투시킬 수있는 간단한 도구로 작업하고 있습니다. - 제VBA에서 프로 시저로 개체 전달
클래스 A
private variables as types
property methods for accessing variables
클래스 B
private variables as types
property methods for accessing variables
클래스 C
Private cA as ClassA
Private cB as Collection 'Collection of ClassB
클래스 D : 여기 내 구현 (나는 그것을 단순화했습니다) 내 문제입니다 내 문제의
Private cC as Collection 'Collection of ClassC
'Other member variables and their property get/lets
Public Sub AddA(A as ClassA)
If cC.Item(A.foo) is Nothing then
dim tempC as ClassC
set tempC = new ClassC
tempC.A = A
End if
End Sub
메인 모듈 - 내 문제의 다른 절반은
Dim cC as New ClassC
'Initialize Class C, this all works fine
Dim tempA as ClassA
Set tempA = new ClassA
'Set tempA properties
cC.AddA tempA 'This is where my error is
나는 "ByVal
및 ByRef
각 나에게 ("하는 ByRef 인수 형식이 일치하지 ","잘못된 프로 시저 또는 인수를 "다른 오류를 제공하고 그것을 전달하려고했습니다 개체가이 속성 또는 메서드를 지원하지 않습니다. "
다음에 무엇을 시도해야할지 모르겠으므로 매개 변수가 ByVal 또는 ByRef로 강제 설정되는 괄호"물건 "을 사용해도 기억이 나지 않습니다. 어제.
감사합니다.
오류가'AddA' 내부에 있으므로 일부 코드가 도움이됩니다. 나는 당신이'Public Sub AddA (ByVal A를 ClassA로)'를 원할 것입니다. – GSerg
@GSerg 하위 모듈을 호출하는 주 모듈에서 오류가 발생하고 'ByVal A ClassA'를 사용하여 시도했지만 "잘못된 프로 시저 또는 인수"오류가 발생합니다. AddA에 대한 코드를 추가하고 수업을 완전히 빠져 나가는 동시에 깨달았습니다. 모든 코드를 완전히 업데이트했습니다. 미안합니다. – Timbermar
'도구 -> 옵션 -> 일반 -> 오류 트래핑 '을 사용하여 오류를 볼 위치를 변경하십시오. 이 경우에는 "클래스 모듈에서 중단"을 원할 수 있습니다. – GSerg