각 XPath에는 동일한 작업을 수행하는 몇 백 줄의 VBA가 포함되어 있습니다. 나는이 공통 코드를 11 번째 XLS로 옮기고 나머지 10 개는 11 번째 XLS에서 코드를 호출하려고합니다. 공용 코드는 호출하는 XLS의 모든 데이터 및 워크 시트에 액세스 할 수 있어야합니다.이 마지막 요구 사항은이 질문에 대한 다른 대답에 의해 해결되지는 않습니다. 호출하는 XLS 워크 시트를 매개 변수 또는 이와 유사한 것으로 전달할 수 있습니까?Excel VBA - 통합 문서 B의 모듈을 사용하여 통합 문서 A의 데이터 업데이트
3
A
답변
7
보조 XLS 파일에 넣는 대신 XLA 파일 (Excel 추가 기능)을 만드는 것이 좋습니다.
이것은 XLA가 의도 된 정확한 시나리오입니다. XLA는이 경우 의도 한대로 작동합니다.
XLA 생성에 대한 자세한 내용은 this page을 참조하십시오.
3
예, 당신은 어떤 함수에 매개 변수로 등 통합 문서, 워크 시트, 범위, 참조 전달할 수 있습니다 : 당신은 아마 복사 많은 코드를 다시 작성해야
Public Sub CallMe(ByVal oWorkbook as Workbook)
Dim oWorksheet as Worksheet
Set oWorksheet = oWorkbook.Worksheets(1)
' Do stuff...
End Sub
주 10 개의 워크 북은 Worksheets(1)
등과 같이 "this"워크 북에 대한 암시 적 참조로 가득 찰 것이기 때문에 위 예제에서와 같이 이제는 oWorkbook.Workbooks(1)
라고해야합니다.