Como usar o vba para concatenar strings?
Para concatenar duas strings usando código VBA, você deve usar o e comercial. Você pode usar um E comercial entre duas strings para combiná-las e, em seguida, atribuir esse novo valor a uma célula, variável ou caixa de mensagem. Da mesma forma, você também pode concatenar mais de dois valores.
Mais tarde veremos um exemplo simples para entendê-lo.
Etapas para usar VBA para concatenar
- Primeiro insira a primeira string usando aspas duplas.
- Depois disso, digite um E comercial.
- A seguir, insira o segundo texto usando aspas duplas.
- Ao final, atribua esse valor a uma célula ou variável, ou use uma caixa de mensagem para vê-lo.
Sub vba_concatenate() Range("A1") = "Mike" & "Ross" End Sub
Concatenar com um delimitador
Você também pode usar um delimitador entre duas strings simplesmente adicionando um terceiro amplificador. Considere o seguinte código.
Range("A1") = "Mike" & "-" & "Ross"
No código acima, você usou um delimitador em duas strings e as uniu usando apenas e comercial. Então, basicamente, sempre que você precisar incluir algo, você precisará usar um E comercial dentro dele.
Concatenar usando variáveis
Você também pode armazenar valores em variáveis e depois concatenar os valores dessas duas variáveis. Considere o seguinte código.
No código acima você tem variáveis declaradas como variáveis e então atribui valores a essas variáveis. E no final, usamos um E comercial para combinar as três variáveis e depois atribuímos o resultado à célula A1.
Concatenar um intervalo usando VBA
Você também pode concatenar valores de um intervalo de células usando VBA. Considere a seguinte macro.
Sub vba_concatenate() Dim rng As Range Dim i As String Dim SourceRange As Range Set SourceRange = Range("A1:A10") For Each rng In SourceRange i = i & rng & " " Next rng Range("B1").Value = Trim(i) End Sub
No código acima, você usou FOR NEXT (For Loops) para percorrer o intervalo que deseja concatenar.
Então, ele vai para cada célula do intervalo (A1:A10), armazena esse valor na variável I e usa um e comercial para concatenar um valor em cada iteração. No final, defina o canal combinado para a faixa B1.
E o código a seguir concatena os valores do intervalo selecionado. Tudo que você precisa fazer é selecionar um intervalo e executar o código.
Dim rng As Range Dim i As String For Each rng In Selection i = i & rng & " " Next rng Range("B1").Value = Trim(i)
Concatenar uma coluna ou linha inteira
Se você deseja concatenar uma coluna ou linha inteira, nesse caso é melhor não usar o método loop. Você pode usar a função de planilha “TextJoin”, que pode unir uma linha ou coluna inteira (considere o código a seguir).
'join values from column A. Dim myRange As Range Dim myString As String Range("B1") = WorksheetFunction.TextJoin(" ", True, Range("A:A")) 'join values from row 1. Dim myRange As Range Dim myString As String Range("B1") = WorksheetFunction.TextJoin(" ", True, Range("1:1"))