저는이 문제를 얼마 동안 가지고 놀았으며이를 수행하는 방법을 알아 냈습니다. 나는 (... 그 시트는이 이름 = "하나", 코드 명 = "SheetOne"와 같은 이름이 지정됩니다) 모든 워크 시트에서 같은 기능을 가지고 :워크 시트의 VBA 사용자 지정 프로 시저/함수가 모듈 외부에서 호출되었습니다.
이제const someVar as Boolean = True
Public Function myFunction() as Boolean
myFunction = someVar
End Function
나는 그것에서 호출 할 외부에서이 같은 -에서 ThisWorkbook 절차 "하는 DoThis()"과 기능이 "TestThis() :
Sub doThis()
Dim i as Integer
For i = 1 to ThisWorkbook.Sheets.Count
If testThis(ThisWorkbook.Worksheets(i)) = True then
Debug.print "Success!"
End If
Next i
Function testThis(x As Worksheet)
If x.myFunction = True Then
testThis = True
Else
testThis = False
End If
지금 내가 알고있는이 라인에서"x.myFunction이이 True "이 오류가 발생합니다"= 경우 방법 또는 데이터 멤버를 찾을 수 없습니다 ", 왜냐하면이 함수는이 참조를 호출 할 수 없기 때문에 tri
Sub doThis()
Dim i as Integer
For i = 1 to ThisWorkbook.Sheets.Count
If testThis(ThisWorkbook.VBProject.VBComponents(Worksheets(i).CodeName)) _
= True then
Debug.print "Success!"
End If
Next i
Function testThis(x As VBComponent)
If x.myFunction = True Then
testThis = True
Else
testThis = False
End If
다시 말해서 "개체가이 속성 또는 메서드를 지원하지 않습니다."라는 오류가 발생합니다. 어떤 아이디어, 그 워크 시트에 어떤 종류의 참조를 저장 한 변수에서 그 함수를 어떻게 호출 할 수 있습니까? 어떤 도움을 주시면 감사하겠습니다.
감사를 포함한다. "x"를 Object 유형으로 변경했지만 정상적으로 컴파일되지만 "x.myFunction"을 호출하면 다시 충돌합니다 (런타임 오류 438 - 객체가이 속성 또는 메서드를 지원하지 않습니다). 변이조차도 이것을 해결하지 못하는 것 같습니다. – Pykas0
모든 시트에'myFunction'이 정의되어 있습니까? 어쩌면 정확한 현재 코드로 질문을 업데이트 할 수 있습니다. –
해당 통합 문서의 모든 워크 시트는 똑같은 기능을합니다. 불행히도 인터페이스를 사용할 수 없다는 것을 지적해야합니다. 필요한 경우, 왜 (메인 퀘스트 편집) 이유를 설명 할 수 있습니다. – Pykas0