2016-08-22 5 views
0

두 개의 시트 - 데이터 시트 자체 및 데이터 유효성 검사 드롭 다운의 명명 된 범위가 포함 된 Lookups이라는 시트를 내보냄으로써 만들어진 많은 수의 통합 문서가 있습니다. 실제로으로 바뀌의 IT는 TimeUnits 범위 =Lookups!$D$2:$D$4로 정의되어야한다 -복사 된 시트의 명명 된 범위에서 외부 참조 제거

나는 데 큰 문제는 복사 프로세스가 새 시트를하지 참조하는 명명 된 범위에 있지만 원래 통합 문서에 주도이다 ='\\sestofp001p\users\SEANP\WWL\Other Projects\20160531 - Ops - Port data project\Data Collection\[Port Data.xlsm]Lookups'!$D$2:$D$4.

312 개의 다른 통합 문서에 26 개의 범위가 있다는 것을 제외하고는 큰 문제가 아니므로 과도한 비트를 제거하여 해당 책의 로컬 참조로 바꾸는 편리한 방법을 찾고 있습니다. 어떤 제안?

+0

검색 및 바꾸기를 사용하면 수식의 데이터를 바꿀 수 있습니다. –

+0

당신은'Workbook.Names' 콜렉션을 반복 할 수 있습니다. – Slai

+0

@iDevlop, 실제 워크 시트의 수식 만 처리 할 수 ​​있습니다. 이름이 지정된 범위 참조를 변경하지 않는 것 같습니다. 특별히 내가 찾아야 할 것이 있습니까? –

답변

1

Name 변수를 정의하고 VBA를 통해 만들었습니까? 아래 예제와 같이 :

Sub Add_NamedRange() 

Dim TimeUnits_NamedRange   As Name 

' create the named range , modify This Workbook to your new created workbook 
Set TimeUnits_NamedRange = ThisWorkbook.Names.Add("TimeUnits", ThisWorkbook.Sheets("Lookups").Range("$D$2:$D$4")) 

End Sub 
+0

아, 훌륭합니다 - 그게 내가 바라는 종류 일뿐입니다! 기존 범위를 덮어 쓰거나 편집 할 수 있습니까? 아니면 먼저 명시 적으로 삭제해야합니까? –

+1

같은 이름의 기존 Named Range를 덮어 쓴다. –

+0

Magnificent, thanks! –