VBScript없이 Excel에서 정규 표현식을 수행 할 수 있습니까?


22

다른 셀의 내용을 정규식으로 검색하기 위해 셀에 넣을 수있는 Excel 함수를 찾고 있습니다. 이 작업을 수행 할 수있는 것이 있습니까? 솔루션을 더 빨리 하드 코딩 할 수 있기 때문에 스프레드 시트에 VB 스크립트를 추가하지 않아도됩니다. 가장 빠른 솔루션은 기능 일뿐입니다. 그래도 찾을 수 없습니다. 아마도 아무것도 없을 것입니다.

누구 알아?

답변:


12

VBE에서 'Microsoft VBScript Regular Expressions 5.5'에 대한 참조를 추가하여 VBScript.dll 정규식 함수를 Excel에 노출 할 수 있습니다. 간단한 정규식 함수를 작성하는 것은 간단합니다.

Public Function emailCheck(rawEmail As String) As Boolean
    Dim reg As New RegExp
    reg.Pattern = "^[\w-\.]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,4}$"
    emailCheck = False
    If reg.Test(rawEmail) Then
        emailCheck = True
    End If
End Function

참조를 추가하는 방법을 설명 할 수 있습니까?
Chris Walsh


3

MoreFunc.xll 은 Regex 기능이있는 무료 추가 기능입니다.

Regex를 수행 할 수있는 다른 타사 추가 기능이 있습니다.

수행 할 기본 워크 시트 함수는 없지만 특정 검색 기능이 있으면 다른 함수를 사용하여 작업을 완료 할 수 있습니다.


확인 감사합니다. 나는 그 도서관을 찾았지만 도서관을 배포 할 필요가없는 것을 갖고 싶어했다.
Erick Robertson

@Erick, 그래, 스프레드 시트에 애드 인을 추가하는 것을 싫어한다. 완전한 정규식 유연성이 필요하지 않으면 다른 기능으로 작업을 수행 할 수 있습니다. Excel에는 많은 트릭이 있습니다. 여기에 특정 요청을 게시하십시오.
랜스 로버츠

2

특정 셀 내에서 정규 표현식 일치 수를 제공하는 함수는 다음과 같습니다.

Public Function regexCount(regex As String, ref As Range) As Integer
    Dim reg As New RegExp
    reg.Global = True
    reg.Pattern = regex
    regexCount = reg.Execute(ref.Value).Count
End Function

( 'Microsoft VBScript Regular Expressions 5.5'에 대한 참조를 추가해야합니다. VBA 편집기에서 '도구'-> '참조'로 이동하여 해당 참조의 확인란을 선택하십시오.)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.