none
Loop - Arquivos do Excel RRS feed

  • Pergunta

  • Bom dia Pessoal, 

     

    Possuo o seguinte código :

     

    Windows("1.xls").Activate

    Range("A1:C50").Select

    Selection.Copy

    Windows("Resumo.xls").Activate

    Range("A1").Activate

    Selection.Paste

     

    Windows("2.xls").Activate

    Range("A1:C50").Select

    Selection.Copy

    Windows("Resumo.xls").Activate

    Range("A51").Activate

    Selection.Paste

     

    e isso se repete até a planilha 200.

     

    Ele sempre busca as informações nas Planilhas 1, 2, 3, 4, 5 (.xls) e assim por diante e copia uma certa área de informações para uma outra planilha (Resumo.xls).

    Como faço para ele, depois de ler a planilha 1, ir para a 2 e 3, sem eu ter que digitar o Windows("1.xls").Activate toda vez ?

     

    Obrigado e Abraços!!

     

     

    quinta-feira, 20 de maio de 2010 10:44

Respostas

  • cara deu erro de sintaxe pq faltou um espaço.....lembrando que vc precisará estar com todas as planilhas abertas, o codigo abaixo eu testei e funcionou, já com o incremento de colar de 50 em 50 linhas.

    se a resposta lhe ajudou por favor marque como útil....................

    i = 1

    Do While i <= 200

    Windows(i & ".xls").Activate

    ActiveCell.Range("A1:C50").Select
    Selection.Copy

    Windows("Resumo.xls").Activate

    ActiveCell.PasteSpecial
    Range("a1").Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Activate

    i = i + 1

    Loop

    • Marcado como Resposta john.law terça-feira, 1 de junho de 2010 23:14
    sexta-feira, 21 de maio de 2010 01:44

Todas as Respostas

  • Tenta assim

    i=1

    do while i<=200

    Windows(i&".xls").Activate

    Range("A1:C50").Select

    Selection.Copy

    Windows("Resumo.xls").Activate

    Range("A1").Activate

    Selection.Paste

    i = i +1

    loop

     

    quinta-feira, 20 de maio de 2010 16:27
  • Fernando, 

     

    Ele mostra a linha Windows(i&".xls").Activate com erro de sintaxe, vou tentar dar uma fuçada aqui.

     

    Fazendo outra pergunta, tem como eu fazer com que ele vá colocando os Valores na outra planiha de 50 em 50 linhas, tipo..

     

    Range("A1").Select

    Range("A51").Select

    Range("A101").Select

    ...

     

    Eu imagino que devo setar outra variável e seu valor estar inserido na linha do código que seleciona o local que vai receber a informação copiada... mas não sei como fazer isso...

     

    Valeu!

    quinta-feira, 20 de maio de 2010 21:48
  • cara deu erro de sintaxe pq faltou um espaço.....lembrando que vc precisará estar com todas as planilhas abertas, o codigo abaixo eu testei e funcionou, já com o incremento de colar de 50 em 50 linhas.

    se a resposta lhe ajudou por favor marque como útil....................

    i = 1

    Do While i <= 200

    Windows(i & ".xls").Activate

    ActiveCell.Range("A1:C50").Select
    Selection.Copy

    Windows("Resumo.xls").Activate

    ActiveCell.PasteSpecial
    Range("a1").Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Activate

    i = i + 1

    Loop

    • Marcado como Resposta john.law terça-feira, 1 de junho de 2010 23:14
    sexta-feira, 21 de maio de 2010 01:44