원본 워크시트를 참조하지 않고 워크시트 전체에서 VLOOKUP 사용

원본 워크시트를 참조하지 않고 워크시트 전체에서 VLOOKUP 사용

여러 다른 통합 문서에서 시트 복사본을 가져오기 위해 몇 가지 매크로를 실행하는 통합 문서가 있습니다. 사용자가 프로젝트 폴더에 복사한 다음 VLOOKUP매번 수식을 설정할 필요 없이 사용할 수 있는 파일 하나를 설정하려고 합니다 . 따라서 NewProject.xlsm 파일을 서버에서 프로젝트 폴더로 복사한 다음 매크로를 사용하여 서버에 있는 100 시리즈, 110 시리즈 또는 120 시리즈 통합 문서에서 필요한 다양한 시트를 가져옵니다.

100 시리즈 통합 문서에는 ItemsE라는 시트가 있고 VLOOKUP두 개의 열에 있고 다른 열에는 데이터 유효성 검사가 있습니다. 사용자가 100_1A 시트를 프로젝트 파일로 가져오면 을 가져오지만 VLOOKUP원본 파일을 참조합니다.

NewProject 파일에는 모두 동일한 정보가 포함된 ItemsE 시트도 있습니다. 내 질문은 100_1A 및 100_1C 시트에서 100 시리즈 통합 문서의 수식을 사용할 수 VLOOKUP있고 100 시리즈 파일 대신 NewProject 파일의 ItemsE 시트를 참조할 수 있습니까? 원래 100 시리즈 파일에 다음 공식을 넣었습니다.

=VLOOKUP(D24,ItemsE!A:C,2,FALSE)

필요한 100개 시리즈 시트를 가져온 후 NewProject 파일을 열면 공식은 다음과 같습니다.

=VLOOKUP(D22,'W:\Design\[C_DE100Series.xlsm]ItemsE'!A:C,2,FALSE)

이 문제를 해결할 수 있는 방법이 있나요? 데이터 유효성 검사에도 작동합니까?

도와주셔서 감사하고, 설명이 길어져서 죄송합니다. 더 많은 정보가 필요하면 알려주시기 바랍니다.

답변1

워크시트 수식에서 ItemsE에 대한 일반 이름을 정의할 수 있습니다.

예를 들어 이름이 "place"를 참조하도록 만듭니다. 워크시트를 수신 통합 문서로 끌면 수신 통합 문서에 대해 정의된 이름은 사용되지 않으며 "place"는 계속 보내는 통합 문서의 이름 정의를 참조합니다.

방금 수신 통합 문서로 끌어온 활성 시트의 이전 위치를 삭제하는 매크로를 사용할 수 있습니다.

ActiveWorkbook.Names("place").Delete

이 경우 수신 통합 문서에 이미 정의된 이름이 사용됩니다.

관련 정보