Usuário com melhor resposta
VBA EXCEL

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.
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- Sugerido como Resposta Hezequias VasconcelosModerator quarta-feira, 19 de setembro de 2012 11:46
- Marcado como Resposta Hezequias VasconcelosModerator domingo, 28 de outubro de 2012 01:33
-
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- Sugerido como Resposta Hezequias VasconcelosModerator quarta-feira, 19 de setembro de 2012 11:46
- Marcado como Resposta Hezequias VasconcelosModerator domingo, 28 de outubro de 2012 01:33
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- Sugerido como Resposta Hezequias VasconcelosModerator quarta-feira, 19 de setembro de 2012 11:46
- Marcado como Resposta Hezequias VasconcelosModerator domingo, 28 de outubro de 2012 01:33
-
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- Sugerido como Resposta Hezequias VasconcelosModerator quarta-feira, 19 de setembro de 2012 11:46
- Marcado como Resposta Hezequias VasconcelosModerator domingo, 28 de outubro de 2012 01:33