none
VBA para Juntar compilar guias em uma somente RRS feed

  • Pergunta

  • Boa Tarde , eu tenho um código que precisa ser consertado, mas eu não sei como fazer, este código juntas todas as guias em uma só:



    Sub Imhotep() Dim cadas As Integer Dim noval As Integer Dim i As Integer Dim j As Integer For i = 1 To Sheets.Count - 1 noval = Plan12.Range("A65536").End(xlUp).Offset(1, 0).Row - 1 Sheets(i).Select cadas = Range("A65536").End(xlUp).Offset(1, 0).Row - 1 For j = 2 To cadas noval = noval + 1 Plan12.Range("A" & noval).Value = Range("A" & j).Value Plan12.Range("B" & noval).Value = Range("B" & j).Value Plan12.Range("C" & noval).Value = Range("C" & j).Value Next j Next i Sheets(i).Select End Sub

    O que preciso é o seguinte copiar da plan2 em diante até plan11

    Todos estes dados serão compilados na Plan12, ela funciona só que eu não quero os dados da plan1 e na outras plan não copia as Celulas A1 e B1, Muito obrigado a quem me responder, depois eu dou o retorno para informar se deu certo ok!
    segunda-feira, 17 de setembro de 2012 19:34

Respostas

  • Poderia postar seu código novamente usando o bloco de código? Para inserir um bloco de código, é só pressionar o botão que tem o símbolo <> junto com o cabeçalho de formatação dessa caixa de resposta.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    • Marcado como Resposta madaraujo terça-feira, 18 de setembro de 2012 02:49
    segunda-feira, 17 de setembro de 2012 21:22
    Moderador
  • Deu para Compilar quase tudo só a  linha 1 que não copia,mas obrigado ajudou bastante vou dar uma olhada no link que você enviou-me obrigado pelo retorno!
    • Marcado como Resposta madaraujo terça-feira, 18 de setembro de 2012 21:50
    terça-feira, 18 de setembro de 2012 21:50
  • Deu muito certo!!!

    obrigado pela ajuda amigo!

    A propósito seu site é muito bom recomendo
    • Editado madaraujo quarta-feira, 19 de setembro de 2012 17:09
    • Marcado como Resposta madaraujo quarta-feira, 19 de setembro de 2012 17:09
    quarta-feira, 19 de setembro de 2012 17:08

Todas as Respostas

  • Poderia postar seu código novamente usando o bloco de código? Para inserir um bloco de código, é só pressionar o botão que tem o símbolo <> junto com o cabeçalho de formatação dessa caixa de resposta.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    • Marcado como Resposta madaraujo terça-feira, 18 de setembro de 2012 02:49
    segunda-feira, 17 de setembro de 2012 21:22
    Moderador
  • Sub Imhotep()
     Dim cadas As Integer
     Dim noval As Integer
     Dim i As Integer
     Dim j As Integer
     
    For i = 1 To Sheets.Count - 1
     noval = Plan3.Range("A65536").End(xlUp).Offset(1, 0).Row - 1
     Sheets(i).Select
     cadas = Range("A65536").End(xlUp).Offset(1, 0).Row - 1
     
    For j = 2 To cadas
     noval = noval + 1
     Plan3.Range("A" & noval).Value = Range("A" & j).Value
     Plan3.Range("B" & noval).Value = Range("B" & j).Value
     Plan3.Range("C" & noval).Value = Range("C" & j).Value
     
    Next j
     
    Next i
     Sheets(i).Select
     End Sub
    Pois não obrigado!
    terça-feira, 18 de setembro de 2012 02:48
  • O código consertado seria algo como mostrado abaixo:

    Sub Imhotep()
        Dim cadas As Integer
        Dim noval As Integer
        Dim i As Integer
        Dim j As Integer
    
        For i = 1 To Sheets.Count - 1
            cadas = Sheets(i).Cells(Sheets(i).Rows.Count, "A").End(xlUp).Row
            For j = 2 To cadas
                noval = noval + 1
                Plan3.Cells(noval, "A") = Sheets(i).Cells(j, "A")
                Plan3.Cells(noval, "B") = Sheets(i).Cells(j, "B")
                Plan3.Cells(noval, "C") = Sheets(i).Cells(j, "C")
            Next j
        Next i
        
        Sheets(Sheets.Count).Select
        Sheets(Sheets.Count).Activate
    End Sub

    No entanto, não recomendo utilizar o mesmo, pois ele não serve pra qualquer pasta de trabalho. Se quiser uma solução mais flexível, veja: http://www.ambienteoffice.com.br/excel/concatenar_varias_planilhas/


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    terça-feira, 18 de setembro de 2012 21:00
    Moderador
  • Deu para Compilar quase tudo só a  linha 1 que não copia,mas obrigado ajudou bastante vou dar uma olhada no link que você enviou-me obrigado pelo retorno!
    • Marcado como Resposta madaraujo terça-feira, 18 de setembro de 2012 21:50
    terça-feira, 18 de setembro de 2012 21:50
  • Troque

            cadas = Sheets(i).Cells(Sheets(i).Rows.Count, "A").End(xlUp).Row

    por

            cadas = Sheets(i).Cells(Sheets(i).Rows.Count, "A").End(xlUp).Row + 1

    . Troque também:

            For j = 2 To cadas

    por

            For j = 1 To cadas


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    terça-feira, 18 de setembro de 2012 22:10
    Moderador
  • Deu muito certo!!!

    obrigado pela ajuda amigo!

    A propósito seu site é muito bom recomendo
    • Editado madaraujo quarta-feira, 19 de setembro de 2012 17:09
    • Marcado como Resposta madaraujo quarta-feira, 19 de setembro de 2012 17:09
    quarta-feira, 19 de setembro de 2012 17:08