VBA Concatenate - Como concatenar strings no VBA?

Concatenação significa unir 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 e 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

VBA Concatenate é uma daquelas coisas que usamos para combinar dois ou mais valores de célula de valor juntos. Se digo em linguagem simples, é uma combinação, é uma junção de dois ou mais valores para ter 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 incorporada 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 tivermos 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 integradas, ainda podemos combinar no VBA usando o símbolo “e comercial” (&).

Se você está acompanhando nossas postagens regularmente, costumamos usar 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; 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, enquanto combinamos 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, assim 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 juntos; 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.

  • A matriz nada mais é do que uma matriz 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 

Artigos interessantes...