No mundo da programação, pelo menos nos últimos anos, as Regular Expressions tornaram um utilitário quase indispensável para análise de textos, seja qual for a linguagem. Diante deste cenário, é um pouco estranho o Excel como ferramenta de uso geral para análise não tenha incluído essa funcionalidade.
Fica como sugestão para a versão 2010, se é que ela já não tem. E se a Microsoft não faz, a gente faz, certo?
Para fazer uso do mecanismo de Regular Expressions nas suas planilhas de Excel, crie um novo módulo no VBA e cole o seguinte código:
Public Function RegExp(Text As String, Pattern As String) As Boolean
Dim oRegEx As Object
Set oRegEx = CreateObject("VBScript.RegExp")
With oRegEx
.Pattern = Pattern
RegExp = .Test(Text)
End With
Set oRegEx = Nothing
End Function |
Public Function RegExp(Text As String, Pattern As String) As Boolean
Dim oRegEx As Object
Set oRegEx = CreateObject("VBScript.RegExp")
With oRegEx
.Pattern = Pattern
RegExp = .Test(Text)
End With
Set oRegEx = Nothing
End Function
Em detalhes, a função faz uso da biblioteca VBScript.RegExp disponível no Windows. Como ele é acessível somente por VBA, é possível disponibilizar criar uma função personalizada para usufruir desta funcionalidade. Um exemplo de chamada seria como na planilha a seguir:
|
A |
B |
1 |
Email |
webmaster@tomasvaquez.com.br |
2 |
Expressão |
^[\w-\.]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,3}$ |
3 |
Válido (=RegExp(B1;B2)) |
VERDADEIRO |
No caso acima, a Regular Expression utilizada é para validar se o email é válido ou não, pelo menos seu formato de texto.
Para saber mais sobre Regular Expressions:
http://www.regular-expressions.info/
Referências:
http://www.eggheadcafe.com/software/aspnet/30273396/excel-to-check-for-regula.aspx