엑셀 시트 이름 한 번에 일괄 변경 방법(매크로)

2023. 1. 5. 20:48 / 서기랑

 엑셀에서 시트의 이름은 시트에서 마우스 우클릭으로 메뉴를 열고 이름을 변경하면 된다.

 그다지 어려운 방법은 아니지만 이름을 변경해야 할 시트가 많다면 생각보다 번거로운 작업이 될 수 있는데 이 때문에 시트이름을 일괄로 빠르게 변경하고자 한다면 매크로를 이용하는 것이 편하다.

 

엑셀 시트 이름 한 번에 일괄 변경 방법(매크로)

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

선택한 값으로 변경

그 외 내용

 코드는 간단하게 만든 것이기 때문에 복잡한 조건의 시트명이라면 수정이 필요하다.

 그나마 마지막 코드의 경우 조금 번거로운 방식일 수 있지만 셀에 값을 빠르게 입력한 뒤 매크로를 돌려 시트에 넣는 방식으로 사용하면 시트 이름이 제각각인 경우 사용하기 괜찮지 않을까 한다.