특정 셀의 값을 시트 이름으로 자동 변경
요즘 손해평가사 활동을 하면서 한 동안 등한시 했던 엑셀을 다시 활용하기 시작했다.
현장 조사 후 계약자에게 조사결과를 설명해야 하는데, 그 결과값을 엑셀을 활용하여 산출하게 된다. 물론 관련 엑셀파일은 농재협에서 대부분 제공하여 준다.
하지만 농재협이 제공한 엑셀파일은 현장에서 사용하기에 약간 부족한 면이 있어 약간 수정할 필요가 있다.
오늘 그 일환으로 인터넷 검색을 통해서 얻은 정보를 내 입맛에 맞게 각색해 정리한다.
특정 셀의 값을 시트 이름으로 자동 설정되도록 하는 방법을 인터넷에서 찾았다.
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