기초부터 실전까지 VBA 엑셀 24 - Sheets.Add, copy, delete
VBA 엑셀 24 - 시트 생성, 삭제, 복사
이번에는 VBA를 이용하여 엑셀 시트를 추가, 삭제, 복사 등
시트를 관리하는 방법에 대해 알려드리겠습니다.
1. VBA에서 시트 추가하기 - Worksheets.Add
먼저 기본 형태를 알려드리겠습니다.
Worksheets.Add Before, After, Count, Type
Before | 지정된 시트의 직전에 새 시트를 추가합니다. |
After | 지정된 시트 바로 뒤에 새 시트를 추가합니다. |
Count | 추가 시트의 수를 지정합니다. 기본값은 1입니다. |
Type | 워크 시트의 종류를 지정합니다. 기본값은 xlWorksheet입니다. |
Type 부분은 거의 만지지 않기때문에 그 이외의 것에 대해 설명해드리겠습니다.
Before, After
모두 생략하면 현재 시트의 바로 앞에 삽입됩니다.
Count
여러 시트를 동시에 추가하면 다음의 매크로가 쓰고 어렵게되므로
여러 시트를 추가하는 경우에도 1개의 시트씩 추가하도록하는 것이 좋기 때문에,
이 인수는 사용하지 않는 것이 좋습니다.
2. VBA로 시트의 이름 바꾸기 - .Name
시트 개체 .Name = "이름"
시트 개체는
Sheets (인덱스)
Worksheets ( "시트 이름")
예를 들면 다음과 같이 사용할 수 있습니다.
Worksheetes(인덱스).Name = "새로운 시트 이름"
-> Worksheets (1) .Name = "이름"
인덱스 자리에 시트의 이름을 넣어서도 사용 가능합니다.
3. VBA로 시트 복사, 이동 - Copy, Move
Worksheet.Copy - 워크시트의 복사
Worksheet.Move - 워크시트의 이동
시트의 복사와 이동에 대한 매소드는 다음과 같습니다.
Before | 해당 시트의 앞으로 이동 / 복사 합니다. |
After | 해당 시트의 뒤로 이동 / 복사 합니다. |
다음과 같이 사용 가능합니다.
Copy 메서드의 사용 예
Worksheets (1) .Copy
Worksheets (1)만의 새 책이 만들어집니다.
Move 메서드의 사용 예
Sheets ( "시트 이름") .Move After : = Sheets (Sheets.Count)
Sheets ( "시트 이름")이 해당 인덱스 시트의 다음으로 이동합니다.
4. VBA로 시트 삭제하기 - Worksheet.Delete
기본형은 다음과 같습니다.
Worksheet.Delete
하지만 이것만 사용하게 되면
"정말 시트를 삭제합니까?" 라는 메세지가 나오면서 VBA가 종료됩니다.
그렇기때문에 다음과 같은 구문을 넣어줘야만 VBA도 도중에 멈추지 않으며
Application.DisplayAlerts = False
경고 알람없이 VBA를 이용하여 시트 삭제가 가능합니다.
이 구문은 Worksheet.Delete 앞에 어디던 적어놓으면 됩니다.
오늘은 이렇게 VBA를 이용하여 시트를 관리하는 방법에 대해 배웠습니다.
[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀1 - 매크로 사용준비
[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀7 - Const 상수 선언
[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀14 - 메세지 박스 MsgBox
일본에서 이야기하는 한국뉴스!
[일본 뉴스] - 일본 뉴스 분석 - 日 주요 언론, 조속한 한일 정상회담 개최 촉구
[일본 뉴스] - 일본 뉴스 분석 - 아베, 이 총리에게도 "국가간 약속지켜야" 거듭 억지
'IT 관련 지식 > VBA 공부' 카테고리의 다른 글
기초부터 실전까지 VBA 엑셀 26 - UserForm 명령단추 (0) | 2019.11.27 |
---|---|
기초부터 실전까지 VBA 엑셀 25 - UserForm (0) | 2019.11.26 |
기초부터 실전까지 VBA 엑셀 24 - 저장하기(SaveAs), 닫기(Close) (0) | 2019.11.20 |
기초부터 실전까지 VBA 엑셀 23 - 북 열기(Open) (0) | 2019.11.19 |
기초부터 실전까지 VBA 엑셀22 - On Error (0) | 2019.11.16 |