Ir ao conteúdo
  • Cadastre-se

Excel Como juntar duas colunas/tabelas do Excel


Posts recomendados

Boa tarde!

Eu necessito fazer a junção de duas colunas/tabelas no excel em uma terceira coluna. Como mostrado abaixo:

image.png.e5f6cceb5bee2bf5f05b022ce6ed7056.png

É possível fazer essa junção com alguma fórmula? Eu precisava que fosse com fórmula ou macro, pois os dados inseridos nas colunas "Fruta A" e "Fruta B" seriam bem grandes para se fazer na mão.

Alguém teria alguma ideia de como me ajudar nisso?

 

Link para o post
Compartilhar em outros sites
Visitante

Segue uma ideia:

 

1. copie A2:A5 e cole em C2

2. copie B2:B5 e cole em C6

3. selecione a coluna C / menu Dados / Remover Duplicadas

 

Se essa for uma operação repetitiva então você poderá gravar uma macro.

Link para o post
Compartilhar em outros sites

@Matheus Sena Uma macro com a dica do @osvaldomp poderia ser assim,

 

Sub Juntar()
    Range("A2:A" & [A:A].End(xlDown).Row).Copy
    [C2].PasteSpecial
    Range("B2:B" & [B:B].End(xlDown).Row).Copy
    Range("C" & [C:C].End(xlDown).Row + 1).PasteSpecial
    Range("C2:C" & [C:C].End(xlDown).Row + 1).RemoveDuplicates 1, xlNo
    Application.CutCopyMode = False
End Sub

 

  • Curtir 1
Link para o post
Compartilhar em outros sites
  • 2 semanas depois...

Boa tarde!


Existe alguma função ou alguma macro que eu junte os dados de duas colunas em uma terceira?

 

Por exemplo:
Dentro da aba Plan1, tenho dados na coluna A e na coluna B, gostaria de uma função que copiasse a coluna A inteira, depois copiasse a coluna B inteira, e jogasse numa terceira coluna qualquer (pode ser a C).

Para melhor visualização:

 

image.png.762b8826156e510d25b96a978d8e3244.png

 

No exemplo acima eu removi as duplicadas, mas não seria necessário.

 

Link para o post
Compartilhar em outros sites

@Matheus Sena  Não copiei a coluna B inteira, só as linhas com valores sem considerar alguma célula em branco entre eles.

 

Sub Copiar()
    [A:A].Copy ([C1])

    If [B2] <> "" Then
        [B:B].Resize([B:B].End(xlDown).Row).Offset(1).Copy ( _
            [C:C].End(xlDown).Rows.Offset(1))
    End If
    
    [C:C].RemoveDuplicates 1
End Sub

 

  • Curtir 1
Link para o post
Compartilhar em outros sites
25 minutos atrás, Matheus Sena disse:

Obrigado Midori, porém não funcionou infelizmente!

Dê mais detalhes. Como tentou aplicar? Deu algum erro? Qual?

 

Conforme descrição do seu post, testei aqui e funcionou e a solução do @deciog com fórmula também.

  • Curtir 3
Link para o post
Compartilhar em outros sites
Visitante
17 minutos atrás, Matheus Sena disse:

@Midori Obrigado Midori, porém não funcionou infelizmente!

Simplesmente escrever aqui "não funcionou" é inútil, só serve pra desanimar quem está tentando lhe ajudar.

O mínimo desejável é que você disponibilize o seu arquivo Excel (imagem não serve) com o código que você utilizou instalado, com o resultado obtido ao rodar o código, com o resultado desejado e com as necessárias explicações. Aí certamente você vai obter a ajuda que deseja.

 

@osvaldomp Sim Oswaldo Osvaldo, existe! Porém não consegui a resolução naquele tópico.

Bastaria prosseguir naquele tópico seguindo os comentários que fiz acima.

 

 

  • Curtir 1
Link para o post
Compartilhar em outros sites

@Midori Ele não me retornou erro nenhum, apenas não concluiu, infelizmente. Eu não posso disponibilizar a planilha por ser restrita da empresa.

Mas você já me deu uma boa luz. Tentei fazer o seguinte:

 

Private Sub CommandButton11_Click()


    Sheets("Tabela Filas").Select
    Range("F:F").Select
    Selection.Copy
    Range("I2").Select
    ActiveSheet.Paste
    
    Sheets("Tabela Filas").Select
    Range("G:G").Select
    Selection.Copy
    Range("I53").Select
    ActiveSheet.Paste
    
    [I:I].RemoveDuplicates 1
    
End Sub

 

Porém está apresentando erro ao depurar na linha "Range ("F:F").Select


 

@Midori  Eu tentei gravando uma macro aqui, e funcionou, mas achei algo curioso.

Ficou assim:
 

Citação

 

Private Sub CommandButton11_Click()

   
    Sheets("Tabela Filas").Select
    Range("F2:F48").Select
    Selection.Copy
    Range("I2").Select
    ActiveSheet.Paste
    Range("G2:G48").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("I49").Select
    ActiveSheet.Paste
    Columns("I:I").Select
    Range("I25").Activate
    Application.CutCopyMode = False
    ActiveSheet.Range("$I$1:$I$677").RemoveDuplicates Columns:=1, Header:=xlYes
    
End Sub

 



O estranho é que quando eu executo a macro ela funciona normalmente, porém quando eu colo ela em um botão, ele apresenta o seguinte erro:

 

image.png.d138eccedf83ea9cb4d9636a2a3b598f.png

 

Você tem ideia do que pode afetar isso?

Ao depurar ele aponta para a linha:
Range("F2:F48").Select
 

 

Link para o post
Compartilhar em outros sites
1 hora atrás, Matheus Sena disse:

O estranho é que quando eu executo a macro ela funciona normalmente, porém quando eu colo ela em um botão, ele apresenta o seguinte erro:

Se o botão está em outra planilha/aba pode acontecer esse erro.

 

Link para o post
Compartilhar em outros sites

@Matheus Sena  Deixe a Macro no módulo e chame a sub no botão, p.ex

 

No Módulo (onde o Excel cria Módulo1, 2, etc),

 

Sub Macro()
    Sheets("Tabela Filas").Select
    Range("F2:F48").Select

...

 

No Botão,

 

Private Sub CommandButton1_Click()
    Call Macro
End Sub

 

  • Obrigado 1
Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

907618_67f7_4.jpg

PROMOÇÃO RELÂMPAGO!

Curso "Arquitetura de Redes", de Gabriel Torres, por apenas R$ 22,90. Só até as 23h59min desta sexta-feira 23/10/2020!

CLIQUE AQUI E INSCREVA-SE AGORA MESMO!