"MyRange"라는 명명 된 범위가 있습니다. 그것은 ='Sheet1'!$A:$A
으로 정의됩니다. VBA에서는 수식이 LastRow= Cells(Rows.Count, Range("MyRange").Column).End(xlUp).Row
입니다. 명명 된 범위의 데이터가있는 마지막 행을 반환해야합니다. 그러나 현재 시트에있는 A 열의 마지막 행을 반환합니다. 명명 된 범위에서 시트 참조를 삭제하는 이유는 무엇입니까?VBA 명명 된 범위 삭제 시트 참조
0
A
답변
1
시도 :
LastRow = range("MyRange").Worksheet.Cells(Rows.Count, Range("MyRange").Column).End(xlUp).Row
편집은 다른 답변 : 같은 동일한 방법으로 답을 완료하는 데 시간이 너무 오래 걸렸!
실패한 이유는 CELLS가 현재 활성 시트를 기본적으로 참조하기 때문입니다. 범위 추가 ("MyRange") : CELLS가 "MyRange"가 포함 된 워크 시트에서 작동하도록하기 전에 워크 시트.
0
당신은 항상 시도 할 수 있습니다 :
With Sheet1
LastRow = Cells(Rows.Count, Range("MyRange").Column).End(xlUp).Row
End With
또 다른 생각하십시오 ""주위 MyRange없이 당신이 무엇을하려고
LastRow= Cells(Rows.Count, Range(MyRange).Column).End(xlUp).Row
2
코드의 구문은입니다
그 세포 인수 모두, 및 행 인수를 사용하면 명명 된 범위의 시트가 아니라 활성 시트를 참조합니다.
구문 시트 참조 될 수있는 유지 :
With Range("myrange").Worksheet
LastRow = .Cells(.Rows.Count, [myrange].Column).End(xlUp).Row
End With
주 세포 앞의 "점"및 행 (및 열). 이 사용
관련 문제
- 1. VBA 참조 명명 된 범위 ActiveSheet
- 2. 명명 된 범위 삭제
- 3. VBA 명명 된 범위 오프셋
- 4. VSTO에서 명명 된 범위 삭제
- 5. Excel에서 명명 된 범위 참조
- 6. VBA 입력 된 수식의 범위 주소 참조
- 7. 명명 된 범위 배열의 시트 숨기기
- 8. 명명 된 범위 클래스 - Excel VBA
- 9. Excel VBA 변수가있는 명명 된 범위 설정
- 10. VBA 범위 삭제 스크립트
- 11. 명명 된 범위의 셀/범위 참조 얻기
- 12. Aspose 셀 - 명명 된 범위 참조 변경
- 13. Excel VBA 정의 된 범위 참조
- 14. 는 격리 된 범위 내에서 참조 된 범위 객체를 삭제
- 15. 참조 워크 시트를 기반으로 열 삭제 VBA
- 16. xlrd 명명 된 범위 예?
- 17. VBA 삭제 범위 내용 오류
- 18. 순수 Excel에서 명명 된 범위 참조 된 주소 (VBA 없음)를 반환하는 가장 좋은 방법
- 19. Excel 2010 VBA 복수 열 Listbox를 명명 된 범위
- 20. 명명 된 범위
- 21. 템플릿의 명명 된 범위
- 22. VBA를 사용하여 명명 된 Excel 변수 참조
- 23. VBA 스크립트를 사용하여 Excel에서 명명 된 범위 만들기
- 24. VBA 코드 및 명명 된 범위의 상대 범위
- 25. VBA Excel에서 문자로 시작하는 명명 된 범위 선택
- 26. VBA : 목록에서 시트 추가 및 삭제
- 27. 명명 된 범위 수식을 VBA로 셀 값 변경하지 못하게하는 방법
- 28. VBA 참조하는 내가 정의한 범위
- 29. 복사 된 시트의 명명 된 범위에서 외부 참조 제거
- 30. 시트에서 시트로 명명 된 범위 복사본을 Excel
첫 번째 제안은 작동하지만 엄밀히 말하면 이름이 지정된 범위에 대한 수천 개의 참조가 있으므로 확장 방법이 아닙니다. 그러면 약 5,000 줄의 코드가 추가됩니다. 두 번째 옵션이 작동하지 않습니다. – user2242044
@ tannman357, 답은 좋지만 일부 구두점을 잊어 버린 점을 제외하면 셀과 행 앞에 각각 하나씩 있습니다. 그래서 그것은 다음과 같이 수정됩니다 : LastRow = .Cells (.Rows.Count, .Range ("MyRange"). Column) .End (xlUp) .Row', 아니면 다시 activesheet로 간다. 시트 ("Sheet1")가있는 것 같아요. –
@ user2242044 - OP에 _scalable_ 같은 것을 넣으세요. 그렇지 않으면 움직이는 표적을 치고 너에게 _good_ 답변을 주려고한다. – ryyker