none
VBA EXCEL RRS feed

  • Pergunta

  • Tenho diversas planilhas, que saem automatico do sistema. Essas planilhas tem um cabeçalho comum (A1:R9). Abaixo desse cabeçalho tem diversos produtos na primeira planilha, com diversos dados, e nem sempre tem a mesma quantidade de dados (numa planilha os dados ficam em A10:R336 em outra A10:R90, etc...). A dificuldade que estou tendo é que preciso agrupar todas essas planilhas em uma só. Por exemplo, tenho 12 planilhas com os meses. Preciso abri-las e colocá-las dentro dessa planilha unica...  de A a R uma planilha, R a AJ outra e assim por diante. Só que o maior problema é que alguns produtos aparecem em algumas planilhas e em outras não, sendo que preciso que o mesmo produto fique na mesma linha. Agradeço muito se alguem conseguir me ajudar.
    terça-feira, 1 de setembro de 2009 13:54

Respostas

  • Ola DCCCCCCCCCCCC,
     Você pode criar um contator que será zerado antes de copiar uma nova planilha para consolidação. 
     Neste contador, faça ele retonar a ultima linha da planilha. Algo tipo:
        Cells(65536, 1).Select  ' seleciona a ultima celula da coluna 1
        Selection.End(xlUp).Select ' seleciona a primeira linha cima preenchida
        UltimaLinha = Selection.Row ' retorna o numero da ultima linha

    Agora, sabendo qual é a ultima linha faça a copia da planilha, pode ser pelo método range:
        range(cells(1,1),cells(UltimaLinha,18)).copy

    Claro, se há um cabeçalho comum, exclua-o do range.


    Espero ter ajudado.

    []'s


    Dan - BH/MG - Brasil - mbarrosdaniel@hotmail.com
    quinta-feira, 1 de outubro de 2009 15:00
  • Vc pode mandar gravar a macro já que a planilha sempre tem o mesmo tamanho

    e no final manda indexar por uma coluna

    Use macros



    Wesley
    terça-feira, 1 de setembro de 2009 14:47

Todas as Respostas

  • Vc pode mandar gravar a macro já que a planilha sempre tem o mesmo tamanho

    e no final manda indexar por uma coluna

    Use macros



    Wesley
    terça-feira, 1 de setembro de 2009 14:47
  • Ola DCCCCCCCCCCCC,
     Você pode criar um contator que será zerado antes de copiar uma nova planilha para consolidação. 
     Neste contador, faça ele retonar a ultima linha da planilha. Algo tipo:
        Cells(65536, 1).Select  ' seleciona a ultima celula da coluna 1
        Selection.End(xlUp).Select ' seleciona a primeira linha cima preenchida
        UltimaLinha = Selection.Row ' retorna o numero da ultima linha

    Agora, sabendo qual é a ultima linha faça a copia da planilha, pode ser pelo método range:
        range(cells(1,1),cells(UltimaLinha,18)).copy

    Claro, se há um cabeçalho comum, exclua-o do range.


    Espero ter ajudado.

    []'s


    Dan - BH/MG - Brasil - mbarrosdaniel@hotmail.com
    quinta-feira, 1 de outubro de 2009 15:00