2014-09-11 2 views
3

나는 MSDN page을 보았고 this question도 유용하다고 생각했지만 ActiveSheet의 작동 방식을 정확히 알고 싶습니다. 워크 시트 객체와 같은가요? 마치 Worksheet 객체를 반환하거나 참조하는 것처럼 들립니다. 일반 워크 시트 메서드 및 속성이 함께 작동합니까?VBA Excel - ActiveSheet에서 사용할 수있는 메서드/속성

나는 다른 소스에서 복사 한 코드에서이 코드를 사용했지만 후드에서 무슨 일이 일어나는지 알고 싶습니다.

감사

보너스 질문 : 사용자 정의 폼에 Sheet1의하는 시트 2의 컨트롤, 다음 설정 활성 시트가있는 경우 사용자 정의 폼을 닫을 때, 그때 시트 2로 다시 설정할 수 있습니까? 본질적으로 양식이 활성화 된 상태에서 데이터를 표시/조작하기 위해 양식 아래의 시트를 변경할 수 있습니까?

답변

5

워크 시트 개체와 비슷합니까?

ActiveSheet은 워크 시트 개체와 비슷하지만 동일하지 않습니다. ActiveSheet는 "워크 시트", "차트 시트", "MS 엑셀 4.0 매크로 시트"할 수 있습니다 또는 "은 MS Excel 5.0 대화 상자 시트"

그리고 작업하는 동안 따라서 하나는 항상 Activesheet을 사용하지 않아야합니다 워크 시트. 당신이 생각하는 시트를 가지고 일하지 않을 수도 있습니다.

일반 워크 시트 메서드 및 속성은 함께 작동합니까?

ActiveSheetWorksheet이면 그렇습니다. 예를 들어 예 즉, 활성 시트에 어떤 Worksheet을 설정하여 앞으로 가져옵니다 수, 보너스 질문에 대해서는, 아래의 워크 시트에 대한 작동하지만 "은 MS Excel 5.0 대화 상자 시트"

Debug.Print ActiveSheet.Range("A1").Address 

에 대한 단, Worksheet은 숨겨져 있지 않아야합니다. 그렇지 않으면 먼저 숨기기를 해제 한 다음 활성화해야합니다.

ActiveSheet을 사용하지 마십시오 간단히 말해서이

ThisWorkbook.Sheets("Sheet2").Activate 

을 사용할 수 있습니다, 워크 시트 활성화합니다. 대신 개체를 사용하십시오. INTERESTING READ

+0

감사합니다. 나는 당신의 권고안을 염두에 두겠다. 모범 사례가 무엇인지 확인하는 것이 좋습니다. – JSM