1
클래스 개체가 인식되지 않는 문제가 있습니다 (오류 91, 개체 참조가 설정되지 않음). 여기 코드는 다음과 같습니다클래스 개체가 인식되지 않습니다.
---Main (Standard Module)
Option Explicit
Public wbCode As Workbook
Public Sub MainSub()
Dim str As String
Dim tables As New CTables
Call SetExcelObjects
str = tables.shExclusions.Cells(20, 1) ---this produces error 91
End Sub
Public Sub SetExcelObjects()
Dim tables As New CTables
Dim str As String
Set wbCode = ThisWorkbook
Set tables.shExclusions = wbCode.Worksheets("Exclusions")
str = tables.shExclusions.Cells(20, 1) ---this line executes okay
End Sub
---CTables (Class Module)
Option Explicit
Public shExclusions As Worksheet
는 린을 주셔서 감사합니다! – TSB
+1, 당신이 제안한 변화를 말하기가 어려웠으므로, 나는 미래의 독자들을 위해 설명하고 있습니다. 문제는 객체'tables'가 Main의 범위 내에서 설정되지 않았다는 것입니다. 객체 참조를'SetExcelObjects'에 전달함으로써'SetExcelObjects'는'tables'를 정의하여 그것을 쓸모있게 만듭니다. 또 다른 해결책은 테이블을 전체 모듈에 대한 전용 변수로 만드는 것입니다. –