VB(A)

[정규식] 일정한 패턴의 숫자만 가져오기

당근쨈 2019. 3. 18. 10:17


https://cafe.naver.com/excelmaster/161500 에 올라온 질문입니다.

C열과 같은 데이터가 있을 때 000.000.00 형식의 문자만 가져오는 사용자정의함수입니다.


정규식을 이용하여 패턴을 분석한 뒤 함수를 만들면 쉽게 해결할 수 있습니다.


일정한 형식의 숫자 가져오기.xlsm


Option Explicit
 
Function MyNum(ByVal tmp As StringAs String
'정규식을 이용하여 000.000.00 형식의 문자를 출력하는 사용자정의 함수입니다.
 
    Dim Myset As Object
    
    With CreateObject("vbscript.regexp")    '정규식 선언
    
        .Pattern = "\d+\.\d+\.\d+"  '000.000.00 의 숫자를 가져옴
        .Global = True
    
        '패턴과 일치하는 항목이 있으면 변수에 할당
        If .test(tmp) Then Set Myset = .Execute(tmp)
    
    End With
    
    '결과물 출력
    MyNum = Myset(0)
    
End Function
 
cs



'VB(A)' 카테고리의 다른 글

파일 오픈 여부 판단하기  (0) 2019.03.20
UTF-8 형식의 텍스트파일 불러오기  (0) 2019.03.19
공급업체별 제품명 출력하기  (2) 2019.03.17
한 셀에서 중복제거후 정렬  (0) 2019.03.17
특정 글자색 추려내기  (0) 2019.03.16