VBA Concatenate

Concatenação significa juntar dois valores ou duas strings, semelhante ao Excel que usamos & ou também conhecido como operador e comercial para concatenar, dois concatenam duas strings que usamos e operador como String 1 & String 2, agora há uma coisa importante a lembrar e que é ao usar o operador & que precisamos fornecer espaços ou o VBA irá considerá-lo tão longo.

VBA Concatenate Strings

O VBA Concatenate é uma daquelas coisas que usamos para combinar dois ou mais valores de células de valor juntos se eu disser em uma linguagem simples que é uma combinação, é uma combinação de dois ou mais valores para ter o valor total.

Temos uma função chamada CONCATENAR no excel que fará a combinação de dois ou mais valores ou dois ou mais valores de células juntos.

Mas no VBA não temos nenhuma função interna para concatenar dois ou mais valores juntos. Na verdade, nem mesmo conseguimos acessar a classe de função de planilha para acessar a função CONCATENAR do VBA como uma função de planilha.

Como concatenar strings no VBA?

Se não temos nenhum tipo de função embutida para concatenar valores e até mesmo a função de planilha não está integrada ao VBA. Agora, o desafio é como combinamos valores?

Mesmo que não haja funções internas, ainda podemos combinar no VBA usando o símbolo “e comercial” (&).

Se você está acompanhando nossas postagens regularmente, geralmente usamos o símbolo "e" comercial (&) em nossa codificação.

Por exemplo, se você tiver o nome e o sobrenome separadamente, podemos combinar os dois e torná-los um nome completo. Siga as etapas abaixo para escrever o código de macro VBA por conta própria.

Etapa 1: Vá para o Editor do Visual Basic e crie um subprocedimento VBA.

Etapa 2: Defina três variáveis como String .

Código:

 Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String End Sub 

Etapa 3: Agora atribua o nome e o sobrenome à variável.

Código:

 Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" End Sub 

Etapa 4: agora combine esses dois nomes à variável Full_Name usando a variável "e" comercial.

Código:

 Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name & Last_Name End Sub 

Passo 5: Agora mostre o valor da variável Full_Name na caixa de mensagem.

Código:

 Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name & Last_Name MsgBox Full_Name End Sub 

Agora execute o código e obteremos o nome completo na caixa de mensagem.

O problema com este nome completo é que não adicionamos um espaço de caractere separador de nome e sobrenome, embora combinando o nome e o sobrenome, combinamos o caractere de espaço também.

Código:

 Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name & "" & Last_Name MsgBox Full_Name End Sub 

Isso dará um nome completo apropriado agora.

Assim, usando o símbolo do e comercial, podemos concatenar valores. Agora vamos resolver o problema da planilha de resolver o Nome e o Sobrenome juntos para torná-lo um nome completo.

Como precisamos combinar muitos nomes, precisamos usar loops para combinar o nome e o sobrenome. O código abaixo fará o trabalho por você.

Código:

 Sub Concatenate_Example1 () Dim i As Integer For i = 2 To 9 Cells (i, 3) .Value = Cells (i, 1) & "" & Cells (i, 2) Next i End Sub 

Isso combinará o nome e o sobrenome exatamente como nossa função de concatenação do VBA.

Erro comum na concatenação VBA e comercial

Se você notar meus códigos, adicionei um caractere de espaço entre os valores e um símbolo de E comercial. Isso é essencial devido à natureza da programação VBA.

Não podemos combinar valores e símbolos de E comercial, caso contrário, obteremos um erro de compilação como o mostrado abaixo.

VBA concatenar usando a função JOIN

No VBA, podemos usar a função JOIN para combinar valores. Primeiro, veja a sintaxe da função VBA JOIN.

  • O array nada mais é do que um array que contém nossos valores. Por exemplo, nome e sobrenome.
  • O delimitador nada mais é do que o separador entre cada valor da matriz, neste caso, o caractere de espaço.

O código abaixo mostrará o exemplo do mesmo.

Código:

 Sub Concatenate_Example2() Dim MyValues As Variant Dim Full_Name As String MyValues = Array("Sachin", "Tendulkar") Full_Name = Join(MyValues, " ") MsgBox Full_Name End Sub