숫자를 문자로 (2)
레이의 VBA정복기6- 숫자를 한글 또는 한자로 변환하는 법
반응형
이미 '숫자를 문자로' 변환하는 엑셀 NUMBERSTRING 함수에 대해서 글을 올린 적이 있습니다.
그럼에도 불구하고 숫자 변환 포스트를 별도로 작성하는 이유는 엑셀 VBA 학습차원에서 진행하는 것 입니다. 특히 엑셀에서 사용자 정의 함수를 어떻게 설정하는지를 알고자 하는 것 입니다.
그리고 다음에 올릴 예정인 포스트와 연관되어 있습니다.

먼저 '숫자를 한글 또는 한자로 변환' 하기 위해 필요한 VBA코드는 아래와 같습니다.
개인적으로 참고하는 책에서도 이번 변환에 대한 설명이 있어 그대로 입력했는데 뭐가 잘못되었는지 제대로 되지 않더군요. 그래서 다음의 지식 코너를 검색해서 아래와 같이 코드를 구했습니다.


Public Function ReadNum(Num, ReadType)
    Dim L, k, i, j, n, v As Integer
    Dim Tg1, Tg2, Tg3 As Variant
    Dim g1, g2, g3 As Integer
    Dim Ans As String
    

If ReadType = 1 Then
        Tg1 = Array("", "壹", "貳", "參", "四", "五", "六", "七", "八", "九")
        Tg2 = Array("", "拾", "百", "千")
        Tg3 = Array("", "萬", "億", "兆")
    Else
        Tg1 = Array("", "일", "이", "삼", "사", "오", "육", "칠", "팔", "구")
        Tg2 = Array("", "십", "백", "천")
        Tg3 = Array("", "만", "억", "조")
    End If
        End If
        Ans = Tg1(n) + Tg2(g2) + Tg3(g3) + Ans
    Next i
    ReadNum = Ans
End Function


사용자 정의 함수 설정 방법


1. 엑셀을 열어 새 문서를 하나 만듭니다. ALT+F11을 눌러 VB화면을 엽니다.
2. VB화면에서 '삽입'메뉴의 '모듈'을 클릭합니다.

3. 2번까지의 과정을 통해서 'Module1'이라는 이름의 모듈이 하나 생성 됩니다.

4. 이번에는 '삽입'메뉴에서 '프로시저'를 클릭합니다.
그러면 '프로시저 추가'라는 팝업창이 뜹니다.
여기서 이름(N)에는 위의 VBA코드 칸에 굵은 빨간색으로 표기된 'ReadNum'을 입력합니다.
형식에는 사용자 정의 함수 프로시저인 'Function(F)'를 체크 합니다.

5. 그러면 아래와 같이 문구가 자동 생성됩니다.
다른 거 생각하지 말고, 아래의 문구를 삭제합니다.
그리고 위의 VBA코드 전체를 복사해서 붙여넣기 합니다.

6. 5번 과정을 끝내면 아래와 같이 나타납니다.



사용자 정의 함수를 엑셀에서 이용하기


1. 먼저 아무 셀에 숫자를 입력해 봅니다.
그리고 커서를 옆 셀로 이동한 후 '함수 마법사'을 클릭 합니다.

2. '함수 마법사' 팝업창이 나타납니다.
'범주선택(C)'에 '사용자 정의'를 선택하면, '함수 선택(N)'란의 좀전에 설정했던 'ReadNum'라는 사용자 정의 함수를 선택합니다.

3. 2번 과정이 마치며 또 다시 아래와 같은 팝업창이 뜹니다.
'Num'에는 숫자가 기록된 셀 주소를 입력합니다. ReadType에는 '0'또는 '1'을 입력합니다.
(0 : 한글 표기, 1 : 한자 표기)

4. 결과 화면 입니다.
반응형
  Comments,     Trackbacks
엑셀팁 - 숫자를 문자로
반응형
숫자를 문자로 -  NUMBERSTRING 함수

  오늘은 숫자를 문자로 바꿔주는 NUMBERSTRING 함수에 대해 살펴보도록 하겠습니다. 이 함수를 사용하여 입력된 금액을 한글이나 한자로 변경할 수 있습니다. 단, 이 함수는 마법사에서 제공을 하지 않으므로 직접 입력하여 사용해야 합니다.

[형식]

NUMBERSTRING(값, Type)
- 값: 숫자를 한글로 변경할 실제 값이나 셀을 참조합니다.
- Type: 1~3까지 입력할 수 있으며,
  1일 때 123456 =NUMBERSTRING(A1,1) '십이만삼천사백오십육'
  2일 때 123456 =NUMBERSTRING(A2,2) '壹拾貳萬參阡四百伍拾六'
  3일 때 123456 =NUMBERSTRING(A3,3) '일이삼사오육'
  으로 화면에 나타납니다.

<1> 만기 금액을 구한 셀을 한글로 변경해 보도록 하겠습니다. 결과값이 나올 셀로 이동한 후 =NUMBERSTRING( 이라고 입력한 후 값이나 수식을 입력하며 표시할 Type도 입력합니다.

<2> 나머지 만기 금액도 이 함수를 사용하여 표시형식을 변경해 봅니다.

[참고하기] FV 함수

FV 함수는 일정 금액을 정기적으로 불입하고 일정한 이율을 적용하는 투자의 미래 가치를 계산하는 함수 입니다.

FV(Rate,Nper,Pmt,Pv,Type)
- Rate: 적립기간 동안 적용되는 이자율 또는 목표 수익률입니다. 이때 이율은 적립기간 단위와 일치합니다. 즉, 연 12%의 이율로 매월 적립하는 경우라면 월 단위로 일치하는 이율 1%(12%÷12월)를 적용합니다.
- Nper: 납입 횟수입니다. rate 계산에 적용된 기간 단위와 일치하여야 합니다.
- Pmt : 매 기간 납입액으로 납입 기간 동안 일정하해야 하며, 현금의 흐름에 따라 부호를 다르게 사용합니다. 예를 들어 은행에 매월 일정 금액을 적립하는 경우 저축하는 사람 입장에서 현금의 유출이므로 '-'부호를, 은행의 입장에서는 현금의 유입이므로 '+'기호를 붙입니다.
- Pv: 현재 가치 또는 앞으로 지불할 일련의 납입금의 현재 가치를 나타내는 총액을 입력하는 항목으로 Pv를 생략하면 0으로 간주되며 이 경우 pmt 인수를 반드시 포함해야 합니다.
- Type: 0또는 1로 납입 시점을 나타내는데, 생략하거나 0을 입력하면 기말이 되고 1을 입력하면 기초가 됩니다.



출처 : 오피스튜터 (www.officetutor.com)



저와 함께 희망을 향해 함께 달리죠.이걸 꾸~욱 누르면서




반응형
  Comments,     Trackbacks
최근 작성 글
최근 작성 댓글
최근 작성 트랙백
프로필
공지사항
글 보관함
캘린더
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
TODAY TOTAL