Excel에서 보이는 모든 워크 시트를 선택하는 것은 시트 탭을 마우스 오른쪽 단추로 클릭하고 모든 시트 선택을 선택하는 것만 큼 쉽습니다. 그러나 VBA 코드로 동일한 작업을 수행하는 것은 더 어렵습니다.

Excel의 온라인 도움말에서는 시트 컬렉션과 함께 배열 기능을 사용하여 이름별로 시트를 선택할 것을 제안합니다. 이것은 통합 문서의 각 시트 이름을 알고있을 때 유용합니다. 통합 문서의 모든 시트를 선택하는 일반 코드를 만들려는 경우 문제가 발생합니다. 좋은 소식은 Microsoft 기술의 변형을 사용하여 색인 번호로 시트를 참조 할 수 있다는 것입니다. 다음은 코드입니다.

Sub SelectSheets()

Dim myArray() As Variant     Dim i As Integer     For i = 1 To Sheets.Count         ReDim Preserve myArray(i - 1)

myArray(i - 1) = i     Next i     Sheets(myArray).Select End Sub

통합 문서에 Sheets (i) .Visible = False 인 숨겨진 시트가 포함되어 있지 않으면 잘 작동합니다. 물론 위의 코드는 숨겨진 워크 시트를 무시하도록 조정할 수 있습니다.

Sub SelectSheets()

Dim myArray() As Variant     Dim i As Integer     Dim j As Integer     j = 0     For i = 1 To Sheets.Count         If Sheets(i).Visible = True Then             ReDim Preserve myArray(j)

myArray(j) = i             j = j + 1         End If     Next i     Sheets(myArray).Select End Sub

그러나 Select 메서드의 알려진 매개 변수는 Replace 매개 변수입니다. Replace 매개 변수를 사용하면 보이는 모든 시트를 선택하는 것이 훨씬 쉬워집니다.

Sub SelectSheets1()

Dim mySheet As Object     For Each mySheet In Sheets         With mySheet             If .Visible = True Then .Select Replace:=False         End With     Next mySheet End Sub

mySheet는 Worksheet 데이터 유형이 아닌 Object 데이터 유형으로 정의됩니다. 이것은 테스트에서 차트 시트에 문제가 발생했기 때문에 수행됩니다. 워크 시트 유형이 아니기 때문에 선택되지 않았기 때문입니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (11600)은 Microsoft Excel 2007, 2010, 2013 및 2016에 적용됩니다.

Excel의 이전 메뉴 인터페이스에 대한이 팁의 버전은 여기에서 찾을 수 있습니다.

link : / excel-Selecting_All_Visible_Worksheets_in_a_Macro [매크로에서 보이는 모든 워크 시트 선택].