엑셀 매크로 VBA 셀 값 영문 한글 숫자 문자 추출 하는 방법

엑셀 매크로 VBA 셀 값 영문 한글 숫자 문자 추출 하는 방법

엑셀 셀에 데이터를 입력하고 나서 내용 중 문자만 필요하거나 또는 숫자, 또는 영문이 필요한 경우가 있습니다.
보통 필요한 부분을 자릿수로 잘라서 추출하기도 하는데요.
데이터가 많은 경우 매크로 프로그램을 이용해서 한글, 숫자, 문자 등 원하는 값만 추출해서 사용할 수 있습니다.
댓글 문의하신 내용이었는데 개인 일정이 많아 늦게 올리네요

간단한 엑셀 샘플을 준비했습니다. 셀에는 한글, 문자, 영문, 숫자 들이 입력되어 있습니다.
매크로 프로그램을 만들어서 한글, 문자, 숫자, 문자와 한글을 간단하게 추출해보겠습니다.




[ALT + F11] 키를 눌러주세요. Microsoft Visual Basic for Applications 프로그램이 실행됩니다.




 시트에서 마우스 오른쪽 버튼 클릭 후 [삽입]-[모듈]을 선택해주세요




 이제 아래 내용을 입력해 주세요 . 복사가 안되시는 분은 첨부파일을 이용합니다.

vb스크립트코드.txt
0.00MB


Function GetChars(inputText As String, ParamArray opts() As Variant) As String
 Dim resultText As String
 Dim i As Integer, char As String
 Dim opt As Variant
    
 
 For Each opt In opts
 
  If opt = 1 Then
   For i = 1 To Len(inputText)
    char = Mid(inputText, i, 1)
    If Asc(char) >= 65 And Asc(char) <= 90 Or Asc(char) >= 97 And Asc(char) <= 122 Then
     resultText = resultText & char
    End If
   Next i
  End If

  
  If opt = 2 Then
   For i = 1 To Len(inputText)
    char = Mid(inputText, i, 1)
    If IsNumeric(char) Then
     resultText = resultText & char
    End If
   Next i
  End If

  
  If opt = 3 Then
   For i = 1 To Len(inputText)
    char = Mid(inputText, i, 1)
    If AscW(char) >= &HAC00 And AscW(char) <= &HD7A3 Then
     resultText = resultText & char
    End If
   Next i
  End If

  
  If opt = 4 Then
   For i = 1 To Len(inputText)
    char = Mid(inputText, i, 1)
     If Asc(char) >= 65 And Asc(char) <= 90 Or Asc(char) >= 97 And Asc(char) <= 122 Or AscW(char) >= &HAC00 And AscW(char) <= &HD7A3 Then
      resultText = resultText & char
     End If
    Next i
   End If
  Next opt
    
 GetChars = resultText
End Function


 




오류 없이 정상적으로 입력되었는지 확인하기 위해 "F5" 키를 눌러 매크로 창이 열리는지 확인합니다.
정상적으로 열리면 [취소] 버튼을 클릭해서 창을 닫아주세요




엑셀 화면으로 다시 이동해서 "=GetChars" 를 입력하면 아래와 같이 나오게 됩니다.
오피스 버전이 낮은 경우 나오지 않을 수도 있습니다.




매크로 함수를 사용하는 방법입니다.
GetChars(문자, 옵션)

옵션 번호는 아래와 같습니다.
1. 문자 추출
2. 숫자 추출
3. 한글 추출
4. 문자 한글 추출

한글 추출할 때 옵션값에 3을 입력하시면 됩니다.




한글 추출 먼저 진행해보겠습니다.

"=GetChars("까지 입력 후  문장이 있는 "A2"를 입력하시고 옵션값은 한글 추출이기 때문에 "3"을 입력합니다.

"=GetChars(A2,3)"

셀에 한글과 숫자가 포함되어 있는데 한글만 추출합니다.




문자를 추출해보겠습니다. 옵션은 "1" 번입니다.

"=GetChars(A3,1)" 을 입력합니다.
영문 값이 추출됩니다.





다른 셀에도 수식을 모두 적용하고 필요한 옵션 값을 입력하면
숫자, 한글 + 문자가 추출됩니다.




필요한 경우 옵션을 배열로 입력해서 같이 사용할 수 있습니다.
숫자와 한글 추출이 동시에 필요한 경우
옵션값에 "3,2" 로 배열을 사용해서 입력하시면 됩니다.

엑셀 매크로 VBA 셀 값 영문 한글 숫자 문자 추출 하는 방법을 알아보았습니다.