위와 같이 숫자를 한글로 바꿔주는 사용자 정의 함수.
정규식을 이용하여 숫자만 추출한 뒤 한글로 변환하였다.
두가지 버전의 함수가 있고 개인적으로는 두번째 함수가 마음에 드는 편.
정규식의 replace 를 이용해 한번에 바꾸고 싶었는데, 구글링을 통해서도 그런 방법은 찾지 못해 결국 순환문을 사용
Option Explicit Function ConvertKorean(tmp As String) As String With CreateObject("vbscript.regexp") .Global = False .Pattern = "(\d+)" Do If .test(tmp) = False Then Exit Do tmp = .Replace(tmp, Application.Evaluate("numberstring(" & .Execute(tmp)(0) & ",1)")) Loop End With ConvertKorean = tmp End Function Function ConvertKorean2(tmp As String) As String Dim Matches As Object Dim i As Integer With CreateObject("vbscript.regexp") .Global = True .Pattern = "(\d+)" Set Matches = .Execute(tmp) If .test(tmp) = True Then For i = 1 To Matches.Count tmp = Replace(tmp, Matches(i - 1), WorksheetFunction.Text(Matches(i - 1), "[dbnum4]"), Count:=1) Next End If End With ConvertKorean2 = tmp End Function | cs |
'VB(A)' 카테고리의 다른 글
데이터를 셀별로 나누기 (0) | 2019.01.17 |
---|---|
[추가기능] 주소변환(지번주소, 도로명주소, 우편번호) (2) | 2018.06.22 |
도로명주소 가져오기 (0) | 2018.02.13 |
여러 시트를 쉽게 이동하기 (0) | 2018.01.05 |
[정규식] 텍스트 파일을 조건에 맞게 쪼개서 가져오기 (0) | 2017.12.31 |