본문 바로가기

엑셀/VBA

엑셀 VBA 워크시트 활성화 및 선택, 추가 메서드 - Activate & Select, Add

반응형

VBA로 코딩하면서 엑셀의 워크시트를 다룰 때 사용하는 메서드인 Activate와 Select에 대해 알아보고 아울러 워크시트를 추가할 수 있는 Add 메서드에 대해서도 알아보겠습니다.

 

1. Activate 메서드

  Activate 메서드는 엑셀 파일에서 지정한 워크시트를 활성화하는 메서드로 지정한 워크시트가 화면에 표시되게 됩니다. 사용 방법은 다음과 같습니다.

 

   Worksheets(워크시트 이름).Activate

 

지정한 워크시트 이름의 워크시트가 화면에 활성화되게 됩니다.

 

 

 

 

2. Select 메서드

  Select 메서드는 엑셀 파일에서 지정한 워크시트가 선택되어 화면에 표시됩니다. Activate 메서드와의 차이점은 Select 메서드는 여러 개의 워크시트를 한 번에 선택할 수 있습니다.

사용 방법은 다음과 같습니다.

 

   Worksheets(워크시트 이름).Select

 

지정한 워크시트 이름의 워크시트를 선택하여 화면에 나타나게 합니다. 시트 이름 부분을 보시면 지정한 워크시트 탭이 선택되어 있는 것을 확인하실 수 있습니다.

 

만약, 여러 개의 워크시트를 선택하실 때에는 다음과 같이 Array를 사용하셔야 합니다.

 

   Worksheets(Array(워크시트 이름1, 워크시트 이름2, ..., 워크시트 이름n).Select

 

3. Add 메서드

  Add 메서드는 워크시트를 추가할 수 있는 메서드입니다. 사용 방법은 다음과 같습니다.

 

   Worksheets.Add Before:= WorkSheets(워크시트 이름)

   Worksheets.Add After:= WorkSheets(워크시트 이름)

   Worksheets.Add Count:= 추가할 워크시트 수량

   Worksheets.Add Type:= 내장 상수

 

Before에서 입력된 워크시트 이름의 시트 바로 앞에 시트를 추가합니다.

After에 입력된 워크시트 이름의 시트 바로 뒤에 시트를 추가합니다.

Count는 새로 추가할 워크시트의 개수를 말합니다. 생략하면 기본적으로 하나의 시트가 추가됩니다.

Type은 워크시트의 형식을 지정합니다. 사용되는 내장 상수는 다음과 같습니다.

 

내장 상수 설 명
xlWorksheet 워크시트
xlChart 차트시트
xlDialogSheet MS Excel 5.0 Dialog 시트
xlExcel4MacroSheet MS Excel 4.0 Macro 시트
xlExcel4IntlMacroSheet MS Excel 4.0 Macro 국제 시트

 

 

 

 

4. 예제로 확인

엑셀에서 VBE 창을 열고 모듈을 생성한 후 다음과 같이 코드를 작성합니다.

 

   Public Sub WS_Activate()

      Worksheets("sheet2").Activate

   End Sub

 

위의 코드를 실행하시면 이름이 sheet2인 워크시트가 활성화되어 화면에 표시되는 것을 보실 수 있습니다.

코드의 sheet2는 여러분들 엑셀 파일에 있는 워크시트 이름을 입력하셔야 합니다.

 

   Public Sub WS_Select()

      Worksheets(Array("sheet2", "sheet3")).Select

   End Sub

 

위의 코드를 실행하시면 sheet2와 sheet3 이름의 워크시트가 선택됩니다. 여러분의 엑셀 파일에 있는 워크시트 이름을 입력하셔서 코드를 작성하셔야 합니다.

 

   Public Sub WS_Add()

      Worksheets.Add before:=Worksheets("sheet2"), Type:=xlWorksheet

   End Sub

 

위의 코드를 실행하시면 sheet2 워크시트 앞에 새로운 시트가 생성되는 것을 보실 수 있습니다. 만약, 엑셀 파일 내 워크시트 마지막에 새로 추가하시고 싶으실 때는 다음과 같이 코드를 작성하시면 됩니다.

 

   Public Sub WS_Add()

      Worksheets.Add After:=Worksheets(Worksheets.Count), Type:=xlWorksheet

   End Sub

 

반응형