엑셀에서 숫자를 한글로 표시하는 방법(매크로 사용)
엑셀에서 제공하는 기능이 아니기 때문에 매크로를 사용해야 합니다. 매크로는 반복 작업할때 사용하는 일종의 프로그램이라고 생각 하시면 됩니다.
아래 설명이 있지만 저장할 때 반드시 xlsm 으로 선택해서 저장해야 됩니다.
● VBA 코드 작성 및 저장
1) 엑셀에서 Alt + F11을 눌러 VBA 편집기를 엽니다.
2) 삽입 > 모듈을 클릭하여 새 모듈을 추가합니다.
3) 아래의 코드를 새 모듈에 붙여넣습니다.
Function NumToKorean(ByVal num As String) As String
Dim units As Variant
Dim numbers As Variant
Dim i As Integer, j As Integer
Dim digit As Integer
Dim unitIndex As Integer
Dim result As String
Dim temp As String
Dim bigUnits As Variant
' 숫자와 단위를 정의
numbers = Array("", "일", "이", "삼", "사", "오", "육", "칠", "팔", "구")
units = Array("", "십", "백", "천")
bigUnits = Array("", "만", "억", "조", "경")
' 초기화
result = ""
' 입력된 숫자가 없는 경우 공 반환
If Len(num) = 0 Then
NumToKorean = "공원"
Exit Function
End If
' 4자리씩 끊어서 처리
For i = Len(num) To 1 Step -4
temp = ""
For j = 0 To 3
If i - j > 0 Then
digit = CInt(Mid(num, i - j, 1))
If digit <> 0 Then
temp = numbers(digit) & units(j) & temp
End If
End If
Next j
' 큰 단위 추가
If temp <> "" Then
result = temp & bigUnits((Len(num) - i) \ 4) & result
End If
Next i
' 맨 앞의 "일" 제거
If Left(result, 1) = "일" And Len(result) > 1 Then
If units(1) & units(2) & units(3) & bigUnits(1) & bigUnits(2) & bigUnits(3) & bigUnits(4) Like "*" & Mid(result, 2, 1) & "*" Then
result = Mid(result, 2)
End If
End If
' 결과에 "원" 추가
If result = "" Then
result = "공원"
Else
result = result & "원"
End If
' 결과 반환
NumToKorean = result
End Function
● 엑셀 파일을 매크로 포함 형식으로 저장
- 엑셀 파일에서 파일 > 다른 이름으로 저장을 클릭합니다.
- 파일 형식에서 Excel 매크로 포함 통합 문서 (*.xlsm)을 선택합니다.
● 매크로 사용
아래 처럼 일반 함수 사용하는 형태로 사용하시면 됩니다.
=NumToKorean(A1)
● 사용한 엑셀 파일