Como retornar todas as correspondências do texto inserido com padrão regex no Excel

Graças ao Visual Basic você pode facilitar seu tempo trabalhando no Excel, pois através deste programa você pode criar macros e funções personalizadas. Com as mesmas macros, você pode importar nomes de arquivos ou copiar dados de uma planilha para outra.

Qual é a função do padrão de expressão regular que cuidará de retornar todas as correspondências de um texto?

O primeiro passo é crie o objeto de expressão regular como uma função chamada "Corresponder" onde, via parâmetros, será encontrado um valor na célula onde a pessoa escreveu.




O alvo através de um código de macro, isso retorna uma mensagem com as correspondências encontradas no texto separados por uma disjunção.

Codificação para criar o modelo de função

Claramente ficou estabelecido que o padrão de expressão regular que será criado posteriormente é uma função que se encarregará de validar os textos inseridos na planilha.

Acesse os detalhes » revelador »E clique em» Visual Basic "Para criar um primeiro" Formulário »Que conterá o código da função.

Você começará definindo o início da função, digitando o nome das partidas e entre colchetes você deve inserir como string os parâmetros de valor do texto inserido na célula.

Correspondências de função pública (célula ByVal como string)

Como retornar todas as correspondências do texto inserido com padrão regex no Excel

Feito isso, você pode começar a escrever o objeto de expressão regular que estabelecerá o padrão de análise, dando a ele o nome (SS) desejado.

Definir SS = CreateObject ("VBScript.RegExp")

Inicie uma variável que você chamará como texto para estabelecer todas as correspondências que virão encontrado durante a execução da macro, que será do tipo string e começará em 0.




Texto esmaecido como uma string

Texto = «»

Em seguida, estabelece as propriedades da expressão regular, onde tudo será colocado como verdadeiro e o modelo serão as letras de a a z acompanhadas do símbolo de mais » + »Para também analisar qualquer outro texto dentro da string.

Con SS

.Global = Verdadeiro

.Multilinha = Verdadeiro

.IgnoreCase = Verdadeiro

.Modelo = «[az] +»

Termina com

Se houver uma correspondência dentro do texto, ela deve ser extraída usando executar, caso contrário exibirá uma mensagem indicando que nada foi encontrado.

No caso de pesquisa de conteúdo, você precisa definir uma variável que chamará conforme encontrado para inserir o valor da célula correspondente.

Deve-se notar que cada correspondência encontrada será percorrida com uma variável auxiliar determinada neste exemplo como " x »Em uma estrutura» Para cada ".

Se SS.test (célula) Então

Conjunto encontrado = SS.Execute (célula)

Para cada x In encontrado

Auxiliar = x

Se texto = ”” Então

Texto = auxiliar

Mais

Texto = texto + ”| «+ Auxiliar

Fim se

Próximo x

Por fim, ele atribui o valor do objeto de expressão regular para ser o texto que será inserido na célula ou define a mensagem se nenhuma correspondência for encontrada, para encerrar a função.

Como retornar todas as correspondências do texto inserido com padrão regex no Excel

 


Correspondências = texto

Mais

Correspondências = "Nenhuma correspondência encontrada"


Fim se


Fim da função

Código de resultado

Para retornar todas as coincidências de um texto, é criado um novo " Formulário »Estabelecer um código que mostrará o resultado da análise do conteúdo da célula, funcionando de acordo com o esquema criado anteriormente.


neste duas variáveis ​​nomeadas value e string do tipo string serão adicionadas ao qual os valores da função serão atribuídos.


Correspondências secundárias ()

Valor dim, string como String

Valor = ActiveCell.Value

String = correspondências (valor)

Cadeia de caracteres da MsgBox

Finalizar legenda

Isso completa a função e a macro, que você pode testar adicionando conteúdo a uma célula com símbolos diferentes e acessando o " Macro "Pressionar" Corre “Na função.

Terminará com o aparecimento de uma janela com as correspondências que se enquadram nos parâmetros estabelecidos, separadas umas das outras pelo símbolo de disjunção.

Se você trabalha com este programa, pode ocorrer um erro em algum momento, mas eles são fáceis de corrigir.


Adicione um comentário do Como retornar todas as correspondências do texto inserido com padrão regex no Excel
Comentário enviado com sucesso! Vamos analisá-lo nas próximas horas.

End of content

No more pages to load