Função Substituir VBA - Substituir String

Este tutorial demonstrará como usar a função Substituir VBA para substituir cadeias de caracteres de texto.

Substituir Função

A função VBA Replace retorna uma string, com substituições feitas. Com o uso de parâmetros opcionais, a nova string pode começar na posição especificada por start e terminar no final da string original.

Substituir VBA Substituir uma Substring

A função Substituir VBA pode ser usada para substituir qualquer substring encontrada, em cada parte que for encontrada.

12345678910111213141516 Sub ReplaceExample_1 ()Substituir MsgBox ("ABCABCABC", "A", "!")'O resultado é: "! BC! BC! BC"MsgBox Replace ("Gosto de rosa, vermelho e preto", "rosa", "roxo")'O resultado é: "Eu gosto de roxo, vermelho e preto"MsgBox Replace ("A, B, C, A, B, C, A, B, C", ",", ",")'O resultado é: "ABCABCABC"Substituir MsgBox ("ABCABCABC", "ABC", "!")'O resultado é: "!!!"Substituir MsgBox ("ABCABCABC", "ABc", "!")'O resultado é: "ABCABCABC"Substituir MsgBox ("ABCABCABC", "ZBC", "!")'O resultado é: "ABCABCABC"End Sub

Posição inicial de substituição de VBA

A função Substituir VBA pode ser usada para substituir qualquer substring encontrada, em cada parte que for encontrada. Se atribuirmos uma posição inicial, o resultado seria a parte da string original após esse ponto inicial.

12345678910111213 Sub ReplaceExample_2 ()MsgBox Replace ("ABCABCABC", "A", "123") 'O resultado é: "123BC123BC123BC"MsgBox Replace ("ABCABCABC", "A", "123", 2) 'O resultado é: "BC123BC123BC"MsgBox Replace ("ABCABCABC", "A", "123", 7) 'O resultado é: "123BC"MsgBox Replace ("ABCABCABC", "A", "123", 8) 'O resultado é: "BC"MsgBox Replace ("ABCABCABC", "ABC", "! @") 'O resultado é: "! @! @! @"MsgBox Replace ("ABCABCABC", "ABC", "! @", 2) 'O resultado é: "BC! @! @"MsgBox Replace ("ABCABCABC", "ABC", "! @", 6) 'O resultado é: "C! @"MsgBox Replace ("ABCABCABC", "ABC", "! @", 7) 'O resultado é: "! @"MsgBox Replace ("ABCABCABC", "ABC", "! @", 8) 'O resultado é: "BC"End Sub

VBA substitui apenas algumas ocorrências

A função Substituir VBA pode ser usada para substituir qualquer substring encontrada, em cada parte que for encontrada. Podemos decidir opcionalmente quantas ocorrências devem ser substituídas.

123456789101112 Sub ReplaceExample_3 ()MsgBox Replace ("ABCABCABC", "A", "12") 'O resultado é: "12BC12BC12BC"MsgBox Replace ("ABCABCABC", "A", "12",, 1) 'O resultado é: "12BCABCABC"MsgBox Replace ("ABCABCABC", "A", "12",, 2) 'O resultado é: "12BC12BCABC"MsgBox Replace ("ABCABCABC", "A", "12",, 3) 'O resultado é: "12BC12BC12BC"MsgBox Replace ("ABCABCABC", "A", "12",, 5) 'O resultado é: "12BC12BC12BC"Substituir MsgBox ("ABCABCABC", "A", "12", 3, 1)'O resultado é: "C12BCABC"'Substituímos A por 12, 1 vez a partir da posição 3 da corda original.End Sub

Sensibilidade de Substituição de VBA

A função de substituição do VBA, por padrão, diferencia maiúsculas de minúsculas. Você pode alterar esse comportamento para não diferenciar maiúsculas de minúsculas usando um parâmetro opcional (vbTextCompare) Nesse caso, você também deve definir a posição inicial da pesquisa.

12345678910111213 Sub ReplaceExample_4 ()Substituir MsgBox ("ABcABCABc", "ABc", "12")'O resultado é: "12ABC12"MsgBox Replace ("ABcABCABc", "ABc", "12",,, vbTextCompare)'O resultado é: "121212"'Quando usamos vbTextCompare, precisamos adicionar os 2 outros argumentos opcionais:'começar e contarSubstituir MsgBox ("ABcABCABcABc", "ABc", "12", 3, 1)'O resultado é: "cABC12ABc"'Começou a partir da posição 3 e substituiu ABC apenas 1 vez.End Sub

Você também pode realizar uma substituição sem distinção entre maiúsculas e minúsculas, adicionando o texto de comparação de opção na parte superior do seu módulo:

1 Texto de comparação de opções

VBA Substituir aspas duplas

A função VBA Replace pode substituir o caractere de aspas duplas usado para delimitar o início e o fim de uma string.

A função VBA Chr pode retornar um caractere de seu número no conjunto de caracteres.

1 MsgBox Chr (34) 'O resultado é: "

Ou

1 MsgBox Chr (64) 'O resultado é: @

As aspas duplas podem ser usadas dentro da função VBA Replace usando “” ”” ou a função VBA Chr (34).

12345678910111213 Sub ReplaceExample_5 ()Dim StrEx como stringStrEx = "AB" "AB" ""O resultado de MsgBox StrEx 'é: AB "AB"MsgBox Replace (StrEx, Chr (34), "12")'O resultado é: AB12AB12Substituir MsgBox (StrEx, "" "", "DQ")'O resultado é: "ABDQABDQ"End Sub

VBA Substituir Linha de Quebra na Célula

A função Substituir do VBA pode localizar o caractere especial da linha de quebra em uma célula e removê-lo ou substituí-lo por um caractere de espaço. O caractere especial de linha de quebra pode ser inserido em uma célula usando o atalho de teclado Alt + Enter e pode ser usado em código VBA com seu número de conjunto de caracteres usando a função VBA Chr (10).

1234567891011121314 Sub ReplaceExample_6 ()Dim StrEx As String 'Definir uma variável de string'Leia o valor da célula A2 na folha de trabalho 1StrEx = ThisWorkbook.Worksheets ("Sheet1"). Range ("A2"). Value'O caractere de quebra de linha inserido com Alt + Enter é Chr (10) e é invisível.'Esta linha de código substitui esse caractere por espaçoStrEx = Substituir (StrEx, Chr (10), "")'Escreva o valor substituído na célula B2 na folha de trabalho 1ThisWorkbook.Worksheets ("Sheet1"). Range ("B2"). Value = StrExEnd Sub

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave