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 é: