none
VBA - Procurar valor de uma célula copiar e colar a linha RRS feed

  • Pergunta

  • Pessoal,

    Quero fazer um vba mas estou tendo dificuldade por ser leigo.

    Quero fazer o seguinte: Na aba primaria tem alguns números na primeira coluna, preciso que ele confira esses números na aba secundaria, e se for igual, copiar a linha da aba primaria e copiar a linha da aba secundaria e jogar numa aba tercearia. 

    Podemos nomear essas abas de "Planilha1", "Planilha2" e "Planilha3". 

    sexta-feira, 3 de julho de 2020 13:04

Respostas

  • Sub CopiarParaPlanilha3()
    
        Dim linhaPlan1 As Long
        Dim linhaPlan2 As Long
        Dim linhaPlan3 As Long
        Dim achou As Boolean
        
        Plan3.Cells.Clear
        
        Plan3.Range("A1").Value = "Números"
        Plan3.Range("B1").Value = "Nome"
        Plan3.Range("C1").Value = "Sexo"
        Plan3.Range("D1").Value = "Nome"
        Plan3.Range("E1").Value = "Sexo"
    
        linhaPlan1 = 2
    
        While Plan1.Range("A" & linhaPlan1).Value <> ""
    
    achou = False
    
    
            linhaPlan2 = 2
    
            While Plan2.Range("A" & linhaPlan2).Value <> "" And achou = False
    
    
    If Plan1.Range("A" & linhaPlan1).Value = Plan2.Range("A" & linhaPlan2).Value Then
    
    achou = True
    
    linhaPlan3 = 2
    
            While Plan3.Range("A" & linhaPlan3).Value <> ""
    
    
    
    
    
                linhaPlan3 = linhaPlan3 + 1
    
    
    
            Wend
            
      Plan3.Range("A" & linhaPlan3).Value = Plan1.Range("A" & linhaPlan1).Value
        Plan3.Range("B" & linhaPlan3).Value = Plan1.Range("B" & linhaPlan1).Value
      Plan3.Range("C" & linhaPlan3).Value = Plan1.Range("C" & linhaPlan1).Value
        'Plan3.Range("D" & linhaPlan3).Value = Plan2.Range("A" & linhaPlan2).Value
        Plan3.Range("D" & linhaPlan3).Value = Plan2.Range("B" & linhaPlan2).Value
      Plan3.Range("E" & linhaPlan3).Value = Plan2.Range("C" & linhaPlan2).Value
          
            
    
    
    End If
    
    
                linhaPlan2 = linhaPlan2 + 1
    
    
    
            Wend
    
    
    
            linhaPlan1 = linhaPlan1 + 1
    
    
    
        Wend
    
    
    
    
    
    End Sub
    
    


    A melhor forma de agradecer e votar como util e / ou marcar como resposta. Anderson Diniz diniabr2011@gmail.com

    • Marcado como Resposta Luan Bianchin segunda-feira, 6 de julho de 2020 18:37
    sábado, 4 de julho de 2020 16:37
  • Sub CopiarParaPlanilha3A()
    
        Dim linhaPlan1 As Long
        Dim linhaPlan2 As Long
        Dim linhaPlan3 As Long
        Dim achou As Boolean
        
        Plan3.Cells.Clear
        
        Plan3.Range("A1").Value = "Números"
        Plan3.Range("B1").Value = "Nome"
        Plan3.Range("C1").Value = "Sexo"
    
    
        linhaPlan1 = 2
    
        While Plan1.Range("A" & linhaPlan1).Value <> ""
    
    achou = False
    
    
            linhaPlan2 = 2
    
            While Plan2.Range("A" & linhaPlan2).Value <> "" And achou = False
    
    
    If Plan1.Range("A" & linhaPlan1).Value = Plan2.Range("A" & linhaPlan2).Value Then
    
    achou = True
    
    linhaPlan3 = 2
    
            While Plan3.Range("A" & linhaPlan3).Value <> ""
    
    
    
    
    
                linhaPlan3 = linhaPlan3 + 1
    
    
    
            Wend
            
      Plan3.Range("A" & linhaPlan3).Value = Plan1.Range("A" & linhaPlan1).Value
        Plan3.Range("B" & linhaPlan3).Value = Plan1.Range("B" & linhaPlan1).Value
      Plan3.Range("C" & linhaPlan3).Value = Plan1.Range("C" & linhaPlan1).Value
        Plan3.Range("A" & linhaPlan3 + 1).Value = Plan2.Range("A" & linhaPlan2).Value
        Plan3.Range("B" & linhaPlan3 + 1).Value = Plan2.Range("B" & linhaPlan2).Value
      Plan3.Range("C" & linhaPlan3 + 1).Value = Plan2.Range("C" & linhaPlan2).Value
          
            
    
    
    End If
    
    
                linhaPlan2 = linhaPlan2 + 1
    
    
    
            Wend
    
    
    
            linhaPlan1 = linhaPlan1 + 1
    
    
    
        Wend
    
    
    
    
    
    End Sub
    


    A melhor forma de agradecer e votar como util e / ou marcar como resposta. Anderson Diniz diniabr2011@gmail.com

    • Marcado como Resposta Luan Bianchin segunda-feira, 6 de julho de 2020 18:36
    sábado, 4 de julho de 2020 16:38
  • https://youtu.be/4WKHfWAcbJ4

    A melhor forma de agradecer e votar como util e / ou marcar como resposta. Anderson Diniz diniabr2011@gmail.com

    • Marcado como Resposta Luan Bianchin segunda-feira, 6 de julho de 2020 18:36
    sábado, 4 de julho de 2020 17:43

Todas as Respostas

  • Sub CopiarParaPlanilha3()
    
        Dim linhaPlan1 As Long
        Dim linhaPlan2 As Long
        Dim linhaPlan3 As Long
        Dim achou As Boolean
        
        Plan3.Cells.Clear
        
        Plan3.Range("A1").Value = "Números"
        Plan3.Range("B1").Value = "Nome"
        Plan3.Range("C1").Value = "Sexo"
        Plan3.Range("D1").Value = "Nome"
        Plan3.Range("E1").Value = "Sexo"
    
        linhaPlan1 = 2
    
        While Plan1.Range("A" & linhaPlan1).Value <> ""
    
    achou = False
    
    
            linhaPlan2 = 2
    
            While Plan2.Range("A" & linhaPlan2).Value <> "" And achou = False
    
    
    If Plan1.Range("A" & linhaPlan1).Value = Plan2.Range("A" & linhaPlan2).Value Then
    
    achou = True
    
    linhaPlan3 = 2
    
            While Plan3.Range("A" & linhaPlan3).Value <> ""
    
    
    
    
    
                linhaPlan3 = linhaPlan3 + 1
    
    
    
            Wend
            
      Plan3.Range("A" & linhaPlan3).Value = Plan1.Range("A" & linhaPlan1).Value
        Plan3.Range("B" & linhaPlan3).Value = Plan1.Range("B" & linhaPlan1).Value
      Plan3.Range("C" & linhaPlan3).Value = Plan1.Range("C" & linhaPlan1).Value
        'Plan3.Range("D" & linhaPlan3).Value = Plan2.Range("A" & linhaPlan2).Value
        Plan3.Range("D" & linhaPlan3).Value = Plan2.Range("B" & linhaPlan2).Value
      Plan3.Range("E" & linhaPlan3).Value = Plan2.Range("C" & linhaPlan2).Value
          
            
    
    
    End If
    
    
                linhaPlan2 = linhaPlan2 + 1
    
    
    
            Wend
    
    
    
            linhaPlan1 = linhaPlan1 + 1
    
    
    
        Wend
    
    
    
    
    
    End Sub
    
    


    A melhor forma de agradecer e votar como util e / ou marcar como resposta. Anderson Diniz diniabr2011@gmail.com

    • Marcado como Resposta Luan Bianchin segunda-feira, 6 de julho de 2020 18:37
    sábado, 4 de julho de 2020 16:37
  • Sub CopiarParaPlanilha3A()
    
        Dim linhaPlan1 As Long
        Dim linhaPlan2 As Long
        Dim linhaPlan3 As Long
        Dim achou As Boolean
        
        Plan3.Cells.Clear
        
        Plan3.Range("A1").Value = "Números"
        Plan3.Range("B1").Value = "Nome"
        Plan3.Range("C1").Value = "Sexo"
    
    
        linhaPlan1 = 2
    
        While Plan1.Range("A" & linhaPlan1).Value <> ""
    
    achou = False
    
    
            linhaPlan2 = 2
    
            While Plan2.Range("A" & linhaPlan2).Value <> "" And achou = False
    
    
    If Plan1.Range("A" & linhaPlan1).Value = Plan2.Range("A" & linhaPlan2).Value Then
    
    achou = True
    
    linhaPlan3 = 2
    
            While Plan3.Range("A" & linhaPlan3).Value <> ""
    
    
    
    
    
                linhaPlan3 = linhaPlan3 + 1
    
    
    
            Wend
            
      Plan3.Range("A" & linhaPlan3).Value = Plan1.Range("A" & linhaPlan1).Value
        Plan3.Range("B" & linhaPlan3).Value = Plan1.Range("B" & linhaPlan1).Value
      Plan3.Range("C" & linhaPlan3).Value = Plan1.Range("C" & linhaPlan1).Value
        Plan3.Range("A" & linhaPlan3 + 1).Value = Plan2.Range("A" & linhaPlan2).Value
        Plan3.Range("B" & linhaPlan3 + 1).Value = Plan2.Range("B" & linhaPlan2).Value
      Plan3.Range("C" & linhaPlan3 + 1).Value = Plan2.Range("C" & linhaPlan2).Value
          
            
    
    
    End If
    
    
                linhaPlan2 = linhaPlan2 + 1
    
    
    
            Wend
    
    
    
            linhaPlan1 = linhaPlan1 + 1
    
    
    
        Wend
    
    
    
    
    
    End Sub
    


    A melhor forma de agradecer e votar como util e / ou marcar como resposta. Anderson Diniz diniabr2011@gmail.com

    • Marcado como Resposta Luan Bianchin segunda-feira, 6 de julho de 2020 18:36
    sábado, 4 de julho de 2020 16:38
  • https://youtu.be/4WKHfWAcbJ4

    A melhor forma de agradecer e votar como util e / ou marcar como resposta. Anderson Diniz diniabr2011@gmail.com

    • Marcado como Resposta Luan Bianchin segunda-feira, 6 de julho de 2020 18:36
    sábado, 4 de julho de 2020 17:43
  • Preciso ir mais afundo nesse código, te mandei um e-mail, se for possivel responder.

    Aqui tem outro link para minha duvida, abri outro forum (incio do link tirei que é padrão pois não da para mandar resposta com link) pt-BR/26ef7b43-7c64-459f-b259-e71d24b9405b/copiar-linhas-de-duas-planilhas-se-nmeros-forem-iguais?forum=vbapt

    terça-feira, 7 de julho de 2020 14:27
  • ajudaa

    https://social.msdn.microsoft.com/Forums/pt-BR/98343b88-c0b0-493e-8e51-bc809dafba88/vba-erro-de-definio-de-aplicativo-ou-objeto-em-cdigo?forum=vbapt

    quarta-feira, 5 de janeiro de 2022 16:30
  • ajudaaa

    https://social.msdn.microsoft.com/Forums/pt-BR/98343b88-c0b0-493e-8e51-bc809dafba88/vba-erro-de-definio-de-aplicativo-ou-objeto-em-cdigo?forum=vbapt

    quarta-feira, 5 de janeiro de 2022 16:30