728x90
엑셀에서 복잡한 글자열을 편집할 때 숫자만 남기거나 글자만 남기고 싶었습니다.
숫자는 굉장히 많지만 사실 0,1,2,3,4,5,6,7,8,9 이렇게 10개의 패턴으로 나타낼 수도 있습니다.
숫자만 남기거나 ,글자만 남기는 코드입니다.
Sub Gettext() '문자만 남기기
Dim obj As Object
Set obj = CreateObject("VBScript.RegExp") 'set으로 regext 개체를 생성
obj.Global = True 'Global로 설정
obj.pattern = "[0-9]" '숫자 패턴을 입력
Range("A2").Value = obj.Replace(Range("A2").Value, "")
'패턴에 해당하는 값을 ""으로 변환
End Sub
Sub Getnum() '숫자만 남기기
Dim obj As Object
Set obj = CreateObject("VBScript.RegExp") 'set으로 regext 개체를 생성
obj.Global = True 'Global로 설정
obj.pattern = "[^0-9]" '숫자가 아님 패턴을 설정한다.
Range("A3").Value = obj.Replace(Range("A3").Value, "")
'패턴에 해당하는 값을 ""으로 변환
End Sub
숫자를 [0-9] 패턴으로 지정하거나 숫자가 아닌 모든 값을 연산자 ^를 사용해서 [^0-9]로 지정할 수 있습니다.
Replace를 통해서 패턴을 변환할 수도 있습니다.
위의 코드는 ""으로 빈값을 만들었지만 .이나 ,으로도 변경할 수 있습니다.
(사용 결과)

반응형
'엑셀' 카테고리의 다른 글
엑셀(EXCEL)에서 배열 상수를 입력하고 함수에서 활용하는 방법과, INDEX 함수로 배열 표시하기(엑셀 배열함수의 이해) (0) | 2023.04.18 |
---|---|
엑셀(EXCEL)의 R1C1 셀 주소 스타일을 알아보자. 셀 위치를 기준으로 참조하기(상대참조, 절대참조) (0) | 2023.04.17 |
엑셀(EXCEL) Substitute / REPLACE 함수로 문자안에 글자를 검색하여 변경하기 (0) | 2023.04.15 |
엑셀(EXCEL) 참조 범위를 지정하는 OFFSET 함수로 다른 함수의 적용범위를 변경 (0) | 2023.04.15 |
엑셀(EXCEL) Find, Search 함수로 글자 안에서 글자의 위치를 검색하자(단어조회 함수) (0) | 2023.04.14 |