본문 바로가기

엑셀로 풀어가는 세상

특정 셀의 값을 시트 이름으로 자동 변경

요즘 손해평가사 활동을 하면서 한 동안 등한시 했던 엑셀을 다시 활용하기 시작했다.

현장 조사 후 계약자에게 조사결과를 설명해야 하는데, 그 결과값을 엑셀을 활용하여 산출하게 된다.  물론 관련 엑셀파일은 농재협에서 대부분 제공하여 준다.

 

하지만 농재협이 제공한 엑셀파일은 현장에서 사용하기에 약간 부족한 면이 있어 약간 수정할 필요가 있다.

오늘 그 일환으로 인터넷 검색을 통해서 얻은 정보를 내 입맛에 맞게 각색해 정리한다.

 

특정 셀의 값을 시트 이름으로 자동 설정되도록 하는 방법을 인터넷에서 찾았다.

VBA 코드는 다음과 같다.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
ActiveSheet.Name = ActiveSheet.Range("A3").Value
End Sub

위 코드를 엑셀 비쥬얼 베이직 에디터('Alt + F11'키를 동시 누르면 됨)에 입력하는 방법은 아래 그림을 대체한다.

 

특정 셀의 값을 시트 이름으로 자동 변경

 

특정 셀의 값을 시트 이름으로 자동 변경

 

특정 셀의 값을 시트 이름으로 자동 변경

 

 

코드 입력 후 엑셀파일을 저장시 파일형식을 아래처럼 'Excel 매크로 사용 통합 문서'로 해야 한다.

 

특정 셀의 값을 시트 이름으로 자동 변경

 

이렇게 만든 엑셀 파일이 제대로 작동하는지 확인해 보자.

특정 셀의 값을 시트 이름으로 자동 변경

위 사진은 A3셀에 '홍길동'을 입력한 상태로서 엔터키를 누르기 전의 모습이다.

 

 

엔터키를 누르면~

특정 셀의 값을 시트 이름으로 자동 변경

위 사진에서 보는 것 처럼 Sheet1의 이름이 A3셀 값인 '홍길동'으로 변했다.

 

만약 A3셀이 아닌 다른 셀의 값을 시트이름으로 하고 싶다면, VBA코드의 값을 변경하면 된다.

 

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
ActiveSheet.Name = ActiveSheet.Range("A3").Value
End Sub

 

 

 

반응형