Graeme에는 많은 수 (120+)의 명명 된 범위가 정의 된 통합 문서가 있습니다. 범위 이름과 정의를 다른 통합 문서에 복사하려고합니다. 따라서 복사 후 원본 통합 문서의 C7 : H22 범위를 참조하는 MyRange1이라는 범위가 대상 통합 문서에 존재하고 대상 통합 문서에서 동일한 범위를 참조합니다.

원래 통합 문서에서 대상으로 복사하면 안됩니다. 범위 이름과 정의 만 있으면됩니다.

이 작업을 수행하는 가장 쉬운 방법은 정의 된 각 이름을 단계별로 실행하고 이름 정의를 대상 통합 문서에 복사하는 매크로를 사용하는 것입니다. 다음은 예입니다.

Sub CopyNames()

Dim Source As Workbook     Dim Target As Workbook     Dim n As Name

Set Source = ActiveWorkbook     Set Target = Workbooks("Book2.xlsx")



For Each n In Source.Names         Target.Names.Add Name:=n.Name, RefersTo:=n.Value     Next End Sub

매크로 작업의 대부분은 정의 된 모든 이름을 단계별로 수행하는 For Each 루프에서 수행됩니다. 대상 통합 문서에 이름을 만들고 원본 통합 문서 (Value 속성에 포함)에서와 동일한 할당을 제공합니다.

기본적으로 명명 된 범위에는 Value 속성의 워크 시트 이름이 포함됩니다. 원본 통합 문서에 Sheet4를 참조하는 명명 된 범위가 있고 대상 통합 문서에 Sheet4가 없으면 이름 추가가 실패합니다. 매크로는 오류를 생성하지 않습니다. 단순히 새로운 명명 된 범위를 생성하지 않습니다. 해결책은 (a) 대상 통합 문서에 원본 통합 문서와 동일한 시트 이름이 포함되어 있는지 확인하거나 (b) 누락 된 시트가 있음을 인식하고 적절한 조치를 취하도록 매크로를 수정하는 것입니다.

매크로를 작성하지 않으려는 경우 가장 쉬운 방법은 원본 통합 문서에서 대상 통합 문서로 워크 시트를 복사하는 것입니다.

Excel은 일반적으로 워크 시트와 함께 명명 된 범위를 복사합니다. 이 방법이 만족스럽지 않은 유일한 경우는 대상 통합 문서에 복사하려는 워크 시트와 이름이 같은 워크 시트가 이미있는 경우입니다. 이 경우 매크로 접근 방식을 사용하는 것이 가장 좋습니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (8811)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다. 여기에서 Excel의 이전 메뉴 인터페이스에 대한이 팁 버전을 찾을 수 있습니다.

link : / excel-Copying_Named_Ranges [Copying Named Ranges].