2016-09-30 2 views
2

내 루틴을 완료 할 수없는 VBA에서 뭔가가 변경되었습니다. 나는 아래에 아주 간단한 예제를 나열했다. 누구든지이 경험이 있다면이 문제를 해결하는 데 도움이 될 것입니다. 문제의시트/범위 선택 (결합) 작동하지 않음

  • 간단한 예는 : 나는 다음과 같은 코드를 사용하면

그것을 잘 작동합니다. 내가 그들을 결합하면

Sheets("Sheet1").Select 
Range("B3").Select 

은 내가 "1004"오류

Sheets("Sheet1").Range("B3").Select 

내가 참조/문서 라이브러리를 확인하고 아무것도 여기에서 변경 한 것으로 나타납니다을 얻을. 그것은 단순한 것이어야하지만 나는 그것에 손가락을 넣을 수 없다.

+0

심각하게 작동해야합니다 ... 어떤 OS 및 Excel 버전을 사용하고 있습니까? – Hambone

+0

또한 코드가 워크 시트 또는 다른 곳에 연결된 모듈에 있습니까? 나는 이것이 워크 시트에 있다면, 왜 이것이 * 실패 할 수 있는지 알 수 있습니다. – Hambone

답변

3

경우 절대적으로 다음 두 워크 시트 셀 범위를 받아들이는 Application.GoTo의 선택을 교환 한 줄의 코드에서 수행해야합니다.

application.goto range("Sheet1!B3") 

그러나, 작업 할 셀 또는 셀을 참조 할 Range .Select 방법을 사용하는 것이 필요 (그리고 가장 자주 비생산적) 거의 절대 없습니다. 귀하의 목표를 달성하기 위해 선택과 활성화에 의존하지 않으려는 방법은 How to avoid using Select in Excel VBA macros을 참조하십시오.

+0

귀하의 도움에 감사 드리며 귀하의 협조에 감사드립니다. 링크는 매우 편리합니다. 나는이 문제를 지금까지 결코 경험하지 못했다고 나는 믿을 수 없다. 다시 한번 감사드립니다. – user1624926

3

당신은 이미 답이 있습니다

  • 첫번째 Select 워크 시트
  • Select이 워크 시트의 범위를

귀하의 코드 것이다 작업 당신은 Sheet1 경우에 될 일 경우 실행 중이지만 이 아닐 경우Sheet1 인 경우 실패합니다. 내 생각에 VBA는이 문제와 관련하여 다소 바보입니다.

+1

더 정확하게 시트가 활성화되지 않으면 범위를 선택할 수 없습니다. 공정한 소리 IMHO – Pierre

+0

@ 피에르 귀하의 설명은 제 것보다 낫습니다. –

+0

게리 :-) – Pierre

관련 문제