-
[정규식] 문자 숫자 섞여있는 셀에서 숫자만 더하기VB(A) 2019. 2. 26. 23:57
https://cafe.naver.com/excelmaster/160561에 올라온 질문입니다.
특수문자, 영문자, 숫자 등이 한 곳에 섞인 셀에서
숫자만 더하는 문제입니다.
정규식으로 풀 수 있는 단골로 나오는 문의사항입니다.
셀에서 숫자만 파악한 뒤
하나씩 더해주면 됩니다.
정규식에서 숫자를 골라내는 패턴이 \d 라는 것만 알면 해결할 수 있습니다.
Option ExplicitFunction NumSum(tmp As String) As LongDim Match As ObjectDim i As IntegerDim matSum As IntegerWith CreateObject("VBscript.regexp") '정규식 생성.Global = True '모든 숫자 파악.Pattern = "\d+" '숫자만If .test(tmp) = True ThenSet Match = .Execute(tmp)For i = 1 To Match.Count '셀 내에 숫자가 있을 때 숫자만 더하기matSum = matSum + Match(i - 1)NextEnd IfEnd WithNumSum = matSumEnd Functioncs 'VB(A)' 카테고리의 다른 글
같은 글자색의 숫자 더하기 (0) 2019.03.15 시트명을 입력하면 해당 시트로 이동 (0) 2019.03.12 표 변환하기(셀삽입) (0) 2019.02.18 명단 출석 체크 추출 및 참가자 명단 파악 (0) 2019.01.24 표 내용을 띄엄띄엄 복사 (0) 2019.01.18 댓글