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 |
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:
1 | 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