VBA Concatenar Strings de Texto Juntas (& - E comercial)

Já examinamos uma introdução às funções de string em nosso tutorial Funções de strings e substrings do VBA. Agora vamos ver como concatenar strings de texto.

Cordas concatenadas

Você pode usar o operador & no VBA para juntar strings de texto.

1 MsgBox "Mesclar" e "Texto"

Células concatenadas

Você também pode concatenar células. Abaixo, temos as sequências de texto em A1 e B1:

O código a seguir mostra como juntar strings de texto das células A1 e B1 usando o operador &, na célula C1:

1 Intervalo ("C1"). Valor = Intervalo ("A1"). Valor e intervalo ("B1"). Valor

O resultado é:

Variáveis ​​Concatenadas

Este é o procedimento completo para concatenar duas células usando variáveis ​​de string.

1234567891011 Sub ConcatenateStrings ()Dim StringOne as StringDim StringTwo as StringStringOne = Intervalo ("A1"). ValorStringTwo = Intervalo ("B1"). ValorIntervalo ("C1"). Valor = StringOne & StringTwoEnd Sub

Usando o & Operator com Spaces

Quando você quiser incluir espaços, use & em conjunto com ”“. O código a seguir mostra como você incluiria espaços:

123456789101112 Sub ConcatenatingStringsWithSpaces ()Dim StringOne As StringDim StringTwo As StringDim StringThree As StringStringOne = "Este é"StringTwo = "o texto"StringThree = StringOne & "" & StringTwoMsgBox StringThreeEnd Sub

O resultado do MessageBox é:

Usando o operador & para concatenar uma aspa

Digamos que sua string de texto contenha uma aspa, o código a seguir mostra como incluir uma aspa dentro de uma string de texto:

12345678910111213 Sub ConcatenatingAQuotationMark ()Dim StringOne As StringDim StringTwo As StringDim StringThree As StringStringOne = "Esta é a aspa"StringTwo = "" ""StringThree = StringOne & "" & StringTwoMsgBox StringThreeEnd Sub

O resultado é:

Colocando cordas em uma nova linha

Digamos que você tenha cinco strings de texto, você pode colocar cada string de texto em uma nova linha ou parágrafo, usando a função vbNewLine, vbCrLf, vbCr ou Chr. O código a seguir mostra como colocar cada string de texto em uma nova linha:

123456789101112131415161718 Sub PuttingEachTextStringOnANewLine ()Dim StringOne As StringDim StringTwo As StringDim StringThree As StringDim StringFour As StringDim StringFive As StringStringOne = "Esta é a primeira string"StringTwo = "Esta é a segunda string"StringThree = "Esta é a terceira string"StringFour = "Esta é a quarta string"StringFive = "Esta é a quinta string"MsgBox StringOne & vbNewLine & StringTwo & vbCrLf & StringThree & vbCr & StringFour & Chr (13) & StringFiveEnd Sub

O resultado é:

wave wave wave wave wave