이름이 지정된 범위가 여러 개 포함 된 "목록"이라는 시트가있는 스프레드 시트가 있습니다. 이 명명 된 범위는 동료 팀입니다. 명령 단추를 한 번 누르면 "H30"(동료 이름)에 입력 된 값과 H31 (관리자 이름)의 값이 사용되며 팀 목록에서 동료 이름을 선택하고 잘라내어 삽입합니다 관리자의 팀에 "H31"(관리자가 다른 팀으로 사람들을 편리하게 이동시킬 수 있음)으로 들어갑니다.VBA에서 Excel 2013 잘라내어 삽입하면 마지막 항목이 잘리는 경우 명명 된 범위의 크기가 조정되지 않습니다.
이 모든 것은 설정되어 있고 Excel이 자동으로 명명 된 범위의 크기를 조정하여 제대로 작동하므로 모든 함수 (예 : 콤보 상자 등)가 여전히 올바르게 작동합니다. 그러나 동료가 팀의 마지막 동료 인 경우 문제가 발생합니다. VBA에서 잘라 내기/삽입을 사용하면 잘라낸 명명 된 범위의 크기가 조정되지 않고 끝에 공백이 남습니다.
명명 된 범위의 다른 모든 곳에서 동료 이름을 잘라낸 경우 명명 된 범위의 크기가 계속 조정되므로 제대로 크기를 조정할 수 있습니까? 이 작업을 수행하는 간단한 방법이 있습니까? 하지 아래하다면 내가하고 싶은 방법입니다,하지만 어떻게 확실하지 않다 :
문 확인할 경우 범위를 "H30"의 항목을 이름
에 나타나는 찾으면 "H30"일치의 값
크기 조정 범위 항목을 절단 한 후 명명 된 범위의 마지막 항목은 (이 내가 작업 한)이 동료가에서 오는 범위를 확인
내 주요 문제입니다 (또한 작업이) 내가 사용하려고했습니다 각 명명 된 범위를 통과하려면 다음과 같은 루프 :
Dim nm As Name
For Each nm In Worksheets("Lists").Names
If Not Intersect(Range("H30"), nm.RefersToRange) Is Nothing Then
'Do things
End If
Next nm
위의 예는 다른 곳에서도 얻을 수 있지만 범위를 찾지 못하는 것 같습니다. 오류도 생성되지 않습니다. 가치가있는 명명 된 범위를 찾기 위해 취할 수있는 다른 접근법이 있습니까?
나는 .Name을 두 번 사용하는 것을 인식하지 못했습니다. 감사합니다. 나는 또한 카운트를 잊었다. 고마워 이것이 내가 필요한 것을 끝내는 데 도움이되었다. –