본문 바로가기
엑셀

엑셀 VBA(매크로) 시트 추가, 삭제, 이름변경, 복사 하

by 데이터스토리 2022. 4. 6.
반응형

VBA로 엑셀 시트를 조정해 보았다.

 

1. 시트 추가

 

- 추가할 Sheet를 "main' 시트 

WorkSheets.Add Before := WorkSheets("main")    ' 앞에 추가하려고 할 때

WorkSheets.Add After:= WorkSheets("main")       ' 뒤에 추가하려고 할 때

WorkSheets.Add Count:=5                              ' 5는 추가할 워크시트 수량

WorkSheets.Add                                           ' 마지막에 워크시트 1개를 추가

 

2. 시트 삭제

 

- Sheet "main' 을 삭제

WorkSheets("main").Delete  

 

3. 시트 이름변경

 

- 시트 'main'의 이름을 'First'로 바꾼다.

Sheets("main").Name = "First"

 

 

4. 시트 복사 Copy

 

WorkSheets("main").Copy Before := WorkSheets('sheet')  ''sheet' 앞에 'main' 시트를 복사해 넣는다.

WorkSheets("main").Copy After:= WorkSheets('sheet')  ''sheet' 뒤에 'main' 시트를 복사해 넣는다.

 

5. 시트 수 확인하기

 

wsCount = WorkSheets.Count    ==> 엑셀의 워크시트 수를 확인한다.

MsgBox "시트 수: " & wsCount

 

6. 시트 이름 확인하기

 

시트가 여러개 있을 것이니, FOR 문을 활용해서 하나씩 확인해 본다.

 

For i = 1 to wsCount

    wsName = Sheets(n).Name

    MsgBox i & "번 시트명: " & wsName

Next i

 

7. 원하는 시트 Active 시키기

 

- Active 시키고 싶은 sheet의 이름이 "main" 이라고 하면 

 ==> WorkSheets("main").Active

 

8. 원하는 시트 Select하기

 

- Select 하고 싶은 sheet의 이름이 "main" 이라고 하면 

 ==> WorkSheets("main").Select                         ' 시트 1개를 선택

 ==> WorkSheets(Array("main", "summary")).Select         ' 시트 2개를 선택

 

9. 시트 이동 Move

 

WorkSheets("main").Move Before := WorkSheets('sheet')  ''sheet' 앞에 'main' 시트를 이동시킨다.

WorkSheets("main").Move  After:= WorkSheets('sheet')  ''sheet' 뒤에 'main' 시트를 이동시킨다.

 

 

 

반응형