Ir ao conteúdo

Posts recomendados

Postado

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?

 

Postado

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.

Postado

@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
  • 2 semanas depois...
Postado

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.

 

Postado

@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
Postado
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 2
Postado
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.

 

 

Postado

@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
 

 

Postado
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.

 

Postado

@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

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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...