Concatenar VBA do Excel

A concatenação pode ser definida como juntar ou adicionar duas cadeias ou itens de dados para obter uma única cadeia ou item de dados chamado concatenação. Em palavras simples, se tivermos uma lista de nomes em uma coluna e sobrenome em outra coluna com a ajuda da operação de concatenação, podemos combinar os dois e colocar em uma única célula em uma fração de segundos. No Excel, para alcançar essa concatenação, temos uma função de planilha chamada Concat (). Mas, esse tipo de função não está disponível no VBA. Não podemos usar concatenate () na codificação VBA, pois não funcionará. Portanto, não há funções disponíveis no VBA e também não podemos acessar as funções da planilha; então, como concatenaremos duas ou mais seqüências no VBA.

Primeiro, veremos como faremos com a função da planilha e depois veremos o mesmo no VBA. Considere duas seqüências de caracteres no Excel, como mostrado na captura de tela abaixo.

Agora use a função concatenar para combinar as duas strings.

Observe a fórmula, D4 e E4 são o endereço das células que queremos combinar. Como acima, podemos concatenar vários números de cadeias de células diferentes.

Como usar a função concatenar do Excel VBA?

Vamos aprender como usar um concatenado de VBA com alguns exemplos no Excel.

Você pode fazer o download deste modelo do VBA Concatenate Excel aqui - Modelo do VBA Concatenate Excel

Concatenar VBA - Exemplo # 1

Como não temos funções internas no VBA, a concatenação no VBA pode ser alcançada usando o operador e comercial (&).

Tomaremos o mesmo exemplo que já adotamos para a função da planilha. Temos "eu amo" na célula D4 e "Índia" na célula E4. Agora vamos combinar essas duas strings no VBA. Vá para a guia do editor VBA.

Etapa 1: vá para a guia Desenvolvedor e selecione a guia "visual basic" no lado esquerdo. Em seguida, ele será levado para a tela abaixo.

Etapa 2: Primeiro, precisamos criar um subprocesso com qualquer nome como concatenação . Para iniciar o subprocesso, use a palavra-chave Sub e o nome do processo “concatenação”.

Código:

 Sub Concatenate () End Sub 

Etapa 3: No Subprocesso, precisamos definir cadeias de caracteres como string1, string2 e full_string usando a palavra-chave dim.

Código:

 Sub Concatenate () Dim String1 como String Dim String2 como String Dim full_string Como String End Sub 

Etapa 4: Agora, precisamos atribuir a string "I love" a string1 e "India" a string2 usando o operador de atribuição "=" como abaixo.

Código:

 Sub Concatenate () Dim String1 Como String Dim String2 Como String Dim full_string Como String String1 = "Eu amo" String2 = "Índia" End Sub 

Etapa 5: agora, combine a string1 e a string2 usando o operador e comercial e atribua essa combinação a full_string como abaixo. Mantenha um espaço entre as variáveis ​​de sequência e o operador e comercial para evitar mensagens de erro.

Código:

 Sub Concatenate () Dim String1 Como String Dim String2 Como String Dim full_string Como String String1 = "Eu amo" String2 = "Índia" full_string = String1 & String2 End Sub 

Etapa 6: Agora, a concatenação de ambas as strings1 e string2 é armazenada em full_string. Exiba essa string usando uma caixa de mensagem como abaixo.

Código:

 Sub Concatenate () Dim String1 Como String Dim String2 Como String Dim full_string Como String String1 = "Eu amo" String2 = "Índia" full_string = String1 & String2 MsgBox (full_string) End Sub 

Etapa 7: agora é hora de executar o processo. Clique no botão play, marcado com a caixa de cor vermelha. O resultado aparecerá na caixa de mensagem como abaixo.

Etapa 8: no exemplo acima, pegamos as duas seqüências diretamente no programa e não há espaço entre a primeira e a segunda. Como adicionar espaço, então? Muito simples, concatenando e concatenando o espaço também.

Código:

 Sub Concatenate () Dim String1 Como String Dim String2 Como String Dim full_string Como String String1 = "Eu amo" String2 = "Índia" full_string = String1 & "" & String2 MsgBox (full_string) End Sub 

Etapa 9: observe a imagem acima, adicionamos o espaço entre a string1 e a string2 com a ajuda de aspas duplas. Caso desejemos adicionar '-', também podemos fazer isso.

Código:

 Sub Concatenate () Dim String1 Como String Dim String2 Como String Dim full_string Como String String1 = "Eu amo" String2 = "Índia" full_string = String1 & "-" & String2 MsgBox (full_string) End Sub 

Etapa 10: O resultado será o seguinte.

Concatenar VBA - Exemplo # 2

Etapa 1: Agora, pegaremos os dados da planilha do Excel, concatenaremos e exibiremos os resultados. Para isso, atribua os dados nas células a string1 e string2, como mostrado abaixo.

Código:

 Sub Concatenate2 () Dim String1 Como String Dim String2 Como String Dim full_string Como String String1 = Células (4, 4) .Value String2 = Cells (4, 5) .Value MsgBox (full_string) End Sub 

Etapa 2: observe a imagem acima, atribuímos o valor nas células (4, 4) à agitação1 e às células (4, 5) na sequência2. Como de costume, concatene as duas seqüências usando o operador e comercial.

Código:

 Sub Concatenate2 () Dim String1 como String Dim String2 como String Dim full_string Como String String1 = Células (4, 4) .Value String2 = Cells (4, 5) .Value full_string = String1 & "" & String2 MsgBox (full_string) End Sub 

Etapa 3: por isso, quaisquer que sejam os dados nas células (4, 4) e Células (4, 5) serão combinadas e armazenadas em full_string. Agora execute o processo clicando no símbolo de reprodução.

Etapa 4: Os dados estão sendo retirados do Excel, mostrados abaixo.

Etapa 5: se alterarmos os dados no excel e executar novamente os resultados do programa serão alterados conforme os dados do excel. Em vez da Índia, mudei para doces agora vamos correr e conferir.

Etapa 6: agora o resultado está chegando na caixa de mensagem. Em vez de uma caixa de mensagem, se quisermos no Excel, podemos fazer isso.

Código:

 Sub Concatenate2 () Dim String1 Como String Dim String2 Como String Dim full_string Como String String1 = Células (4, 4) .Value String2 = Cells (4, 5) .Value Cells (4, 7) .Value = String1 & String2 MsgBox ( full_string) End Sub 

Etapa 7: atribua a concatenação na célula de endereço da célula (4, 7) e remova o msgbox, pois não precisamos mais da caixa de mensagem. Pressione o botão play e vá para o excel e verifique se o resultado será na célula (4, 7) (linha 4 e coluna 7).

Passo 8: Como estamos adicionando duas strings, podemos usar o símbolo “+” também como abaixo.

Código:

 Sub Concatenate2 () Dim String1 Como String Dim String2 Como String Dim full_string Como String String1 = Células (4, 4) .Value String2 = Cells (4, 5) .Value Cells (4, 7) .Value = String1 + String2 End Sub 

Etapa 9: o resultado será o seguinte. Não haverá diferença.

Etapa 10: Mas se usarmos números em vez de cadeias para concatenar usando o símbolo “+”, a concatenação será executada apenas sem adição, porque adotamos o tipo de dados como uma cadeia, não como um número inteiro.

Etapa 11: O resultado será o seguinte.

No caso, se estivermos usando o tipo de dados como inteiro, devemos usar o operador "e comercial" apenas para concatenação. Se usarmos "+" enquanto estiver usando o tipo de dados inteiro, ele não concatenará, mas fará a adição.

Concatenar VBA - Exemplo # 3

Etapa 1: se queremos combinar uma string e um número, também podemos aplicar a mesma técnica. Para isso, mantenha o valor numérico em uma célula e o valor da string em outra célula e clique na opção de execução.

Etapa 2: o resultado não terá impacto, será o mesmo resultado da string que anteriormente, com a única alteração é número em vez de uma string.

Coisas para lembrar

  • Concatenação é combinar as seqüências de caracteres de duas ou mais seqüências múltiplas de células diferentes. Para fazer isso no Excel, temos a função de planilha embutida que é CONCAT.
  • A função de planilha concat não está acessível no VBA para concatenar.
  • A concatenação será alcançada com a ajuda do e comercial do operador (&) e mais (+). Se você estiver usando um tipo de dados inteiro, o símbolo “+” executará uma operação de adição em vez de concatenação, portanto, garanta isso.
  • Use espaço antes e depois dos símbolos & e +, caso contrário, será exibida uma mensagem de erro.
  • Ao definir variáveis ​​de cadeia, não mantenha nenhum espaço no nome de uma variável. Se algum espaço fornecido no nome da variável da string, ele não será permitido, pois emitirá uma mensagem de erro como abaixo.

Artigos recomendados

Este é um guia para o VBA Concatenate. Aqui discutimos como usar a função Concatenar do Excel VBA, juntamente com exemplos práticos e modelo de excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. VBA InStr explicado com exemplos
  2. Tipo de dados inteiro VBA
  3. Como selecionar uma célula usando o código VBA?
  4. Transpor um intervalo no VBA

Categoria: