Vba: como extrair texto entre dois caracteres
Você pode criar a seguinte função personalizada no VBA para extrair texto entre dois caracteres específicos:
Function ExtractBetween(this_text, start_char, end_char) StartPosition = InStr(this_text, start_char) EndPosition = InStr(this_text, end_char) ExtractBetween = Mid(this_text, StartPosition + 1, EndPosition - StartPosition - 1) End Function
Você pode então usar esta função para extrair o texto entre dois caracteres específicos em um caractere específico no Excel.
O exemplo a seguir mostra como usar esta função na prática.
Exemplo: usando VBA para extrair texto entre dois caracteres
Suponha que temos o seguinte conjunto de dados no Excel contendo os valores de ID e vendas totais de diversos produtos de uma empresa:
Suponha que queiramos usar o VBA para extrair o texto entre parênteses para cada célula da coluna A e retornar os resultados na coluna C.
Podemos criar a seguinte função para fazer isso:
Function ExtractBetween(this_text, start_char, end_char) StartPosition = InStr(this_text, start_char) EndPosition = InStr(this_text, end_char) ExtractBetween = Mid(this_text, StartPosition + 1, EndPosition - StartPosition - 1) End Function
Podemos então digitar a seguinte fórmula na célula C2 para extrair o texto entre parênteses para o texto na célula A2 :
=ExtractBetween( A2 , "(", ")")
Podemos então clicar e arrastar esta fórmula para cada célula restante na coluna C:
A coluna C agora exibe o texto entre parênteses para cada célula correspondente na coluna A.
Nota : Esta fórmula funciona usando a função Instr no VBA para extrair a posição de caracteres iniciais e finais específicos e, em seguida, usando a função Mid para retornar todo o texto entre esses dois caracteres.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns usando VBA:
VBA: Como contar ocorrências de caracteres em uma string
VBA: como verificar se uma string contém outra string
VBA: Como contar células com texto específico