엑셀 시트 이름 한 번에 일괄 변경 방법(매크로)
엑셀에서 시트의 이름은 시트에서 마우스 우클릭으로 메뉴를 열고 이름을 변경하면 된다.
그다지 어려운 방법은 아니지만 이름을 변경해야 할 시트가 많다면 생각보다 번거로운 작업이 될 수 있는데 이 때문에 시트이름을 일괄로 빠르게 변경하고자 한다면 매크로를 이용하는 것이 편하다.
엑셀 시트 이름 한 번에 일괄 변경 방법(매크로)
1. 매크로 만들기.
엑셀을 실행한 상태에서 [Alt + F11]을 눌러 매크로를 실행하자.
2. 모듈 생성.
매크로 창이 나타나면 왼쪽의 프로젝트 부분에서 마우스 우클릭으로 메뉴를 열고 [삽입 -> 모듈]을 클릭하자.
3. 매크로 코드.
모듈이 만들어지면 이제 시트 이름을 넣는 매크로 코드 만들어서 넣으면 된다.
코드는 3종류를 준비했는데 아래의 코드를 그대로 사용해도 되고 자신에게 맞게 코드를 변경한 뒤 사용해도 된다.
- 년 월로 변경.
매크로를 실행하면 2022년도 1월부터 순차적으로 증가하여 시트이름을 변경한다.
년도나 형식을 변경하고자 한다면 "2022년" & i & "월" 부분을 변경하면 된다.
Sub sheet_name() Dim i As Integer For i = 1 To Sheets.Count Sheets(i).Name = "2022년" & i & "월" Next i End Sub |
- 입력한 값 뒤에 순차적으로 숫자를 넣어 변경.
매크로를 실행하면 값을 입력할 수 있는 창이 나타나며 값을 입력하면 해당 값에 1부터 순차적으로 시트이름이 생성된다.
예를 들어 서기랑을 입력하면 서기랑1, 서기랑2, 서기랑3, ... 과 같은 방식으로 변경된다.
Sub sheet_name() Dim i As Integer Dim new_sheet_nm As String new_sheet_nm = InputBox("변경할 이름 입력", "시트 이름 변경", "", 2) For i = 1 To Sheets.Count Sheets(i).name = new_sheet_nm & i Next i End Sub |
- 선택한 셀에 값으로 시트이름을 변경.
값이 있는 셀을 범위로 선택한 뒤 매크로를 실행하면 해당 범위에 있는 값 순서대로 시트이름이 변경된다.
(값이 없는 셀이 범위에 있으면 에러가 발생한다.)
Sub sheet_name() Dim i As Integer Dim sheet_cnt As Integer Dim new_sheet_nm As String If Sheets.Count >= Selection.Count Then sheet_cnt = Selection.Count Else sheet_cnt = Sheets.Count End If For i = 1 To sheet_cnt Sheets(i).name = Selection.Cells(i) Next i End Sub |
그 외 내용
코드는 간단하게 만든 것이기 때문에 복잡한 조건의 시트명이라면 수정이 필요하다.
그나마 마지막 코드의 경우 조금 번거로운 방식일 수 있지만 셀에 값을 빠르게 입력한 뒤 매크로를 돌려 시트에 넣는 방식으로 사용하면 시트 이름이 제각각인 경우 사용하기 괜찮지 않을까 한다.