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