Criei uma função para validar de uma expressão regular de CEP no VBA, porém ele retorna a string original e substitui o CEP por "Verdadeiro", queria retornar somente o numero do CEP. Function simpleCellRegex(Myrange As Range) As String Dim RegEx As New RegExp Dim strPattern As String Dim strInput As String Dim strReplace As String Dim strOutput As String strPattern = "[0-9]{1,5}-[0-9]{3}" If strPattern <> "" Then strInput = Myrange.Value strReplace = "" With RegEx .Global = True .MultiLine = True .IgnoreCase = False .Pattern = strPattern End With If RegEx.Test(strInput) Then simpleCellRegex = RegEx.Replace(strInput, RegEx.Execute(strInput)) Else simpleCellRegex = "Not matched" End If End If End Function
Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.
Igor!
Quer apenas formatar a entrada no formato do CEP?
Tem esta formatação programada. Se quer achar se o CEP é existente, tem função que verifica isso na Internet.
Pode me contatar direto pelo site se eu não tiver entendido o que busca.
Boa sorte.
Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.
Olá, Igor!
Porque ao invés de aplicar simpleCellRegex = RegEx.Replace(strInput, RegEx.Execute(strInput)), aplique simpleCellRegex = strInput... Lembrando que vc aplicou como retorno desta função com o string, logo, ele lhe retornará como texto e não como número.
Até mais!!
Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.