Notifications
Clear all

Copiar uma apa a partir de outra baseado em uma coluna

14 Posts
2 Usuários
0 Reactions
1,973 Visualizações
(@johnsmith)
Posts: 36
Eminent Member
Topic starter
 

Olá, tenho uma planilha que tem aba plan1 e plan2. na plan2, na coluna A1 até An (pode variar), tem nomes que gostaria de criar abas, mas baseado na aba plan1. Não basta copiar somente a aba (plan1), mas tem que copiar as colunas da plan1, pois tem formulas e precisarão ser replicadas também. Na plan2, teria um botão que , ao clicar, faria essa copia. Aguardo orientações. Grato.

 
Postado : 27/08/2016 8:27 pm
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa noite,

Disponibilize uma planilha de exemplo.

att,

 
Postado : 27/08/2016 11:19 pm
(@johnsmith)
Posts: 36
Eminent Member
Topic starter
 

Segue exemplo. Grato.

 
Postado : 28/08/2016 7:21 am
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa noite johnsmith,

Veja se é isso que deseja.

att,

 
Postado : 28/08/2016 7:26 pm
(@johnsmith)
Posts: 36
Eminent Member
Topic starter
 

Olá brunoxro, boa noite e obrigado pela macro. Apenas uma duvida, se a planilha modelo tiver varias colunas (não necessariamente limitadas), assim como as linhas, e além, da quantidade de abas a criar tb não tiver limites, o código irá servir? Vi no código que tem alguns valores como 10000 ou com CELL (1,1) ou (...,2)...não sei se estaria limitando. Aguardo orientação e obrigado.

 
Postado : 28/08/2016 7:46 pm
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

johnsmith,

Sobre o código CELLS é uma forma de referenciar as células da planilhas, por exemplo Cells(1,1) = Range("A1"). O Excel originalmente usa o padrão RC (Linha X Coluna).

Esse código vai pegar os valores na coluna A da planilha "listaabas", e depois criar novas planilhas cujo nome é o que está escrito nas células.
No seu exemplo tinha aba1,aba2,aba3,aba4 e aba5, por isso foi criado cinco planilhas com esse nome. Pode ter estar escrito mais, aba6, aba7 nas células seguinte que iria gerar de qualquer forma.

Uma vez que criou as novas abas, ele copia o valor da coluna A e B da planilha 'modelo'. Caso precise copiar mais colunas, C, D, E... eu posso alterar essa parte no código.

Se você escrever em outro lugar as informações você terá que alterar isso no código.

Uma informação que você precisa saber é que cada arquivo de Excel tem um limite de planilhas (abas) possíveis (acho que é 256). Logo você precisaria pensar se necessita realmente trabalhar com tantas planilhas em um arquivo.

Se você precisa de algo mais genérico, explique mais detalhadamente (passo a passo) o que você precisa em uma planilha de exemplo.

 
Postado : 28/08/2016 8:16 pm
(@johnsmith)
Posts: 36
Eminent Member
Topic starter
 

Ola brunoxro, o exemplo que passei seria um exemplo e sua explicação foi ótima. Quanto a quantidade de abas com certeza não passa de 100, mas na modelo as colunas serão várias, se puder deixar dinâmico ou no limite máximo agradeceria. Grato.

 
Postado : 28/08/2016 8:32 pm
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

johnsmith,

Agora a área de copia da planilha 'modelo' está "dinâmica", ou seja, os dados deve estar preenchidos partindo da célula A1.

De qualquer forma, trabalha com 100 planilhas em um arquivo pode ser problemático, não seria melhor criar uma planilha para cada informação ou grupo de informação?

att,

 
Postado : 28/08/2016 8:50 pm
(@johnsmith)
Posts: 36
Eminent Member
Topic starter
 

Olá Brunoxro, bom dia, primeiro, obrigado pelo código. com relação as 100 abas, vc esta correto, o ideal seria criar planilhas (arquivos) ao invés de abas. Não sei o quanto isso complica ou não em termos de código ou se é possível. Grato.

 
Postado : 29/08/2016 5:51 am
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Teste essa planilha.
Ela vai criar uma planilha nova para cada "aba", as planilhas estarão no mesmo caminho desse arquivo.

att,

 
Postado : 29/08/2016 10:00 pm
(@johnsmith)
Posts: 36
Eminent Member
Topic starter
 

Olá Bruno, bom dia!! Excelente, grato pelo código, funcionou. Apenas para eu entender. Qual o motivo de ter criado na planilha original a pasta (LISTA), sendo que existe uma que é a modelo (que vai ser replicada) e a llistaabas (que contem os nomes dos que seriam as planilhas)? Pergunto pois terei que adaptar ao código real que nem sempre estará na mesma posição e nomes, considerando que a planilha que enviei é um exemplo apenas. A anterior já consegui adaptar na planilha real e também gostaria de adaptar essa. Grato.

 
Postado : 30/08/2016 5:33 am
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

boa noite johnsmith ,

Essa nova planilha que coloquei é para auxiliar na copia dos arquivos. Eu copio os dados para essa planilha e depois é salvo em um novo arquivo.

Na sua planilha para adaptar vai precisar dessa planilha chamada que adicionei.

att,

 
Postado : 30/08/2016 3:46 pm
(@johnsmith)
Posts: 36
Eminent Member
Topic starter
 

Caro Brunoxro, boa noite!! fiz a adaptação e deu certo, o problema é que a pasta que seria o modelo contem regras baseadas em outras abas, que quando copiadas, perdem as referencias e ficam sem valores. Por outro lado, se eu levar as referencias, sempre terei que levar a planilha "mãe". Talvez a solução, por enquanto, seria fazer uma copia apenas dos conteúdos (valores) e não com referencia. É possível? Grato.

 
Postado : 30/08/2016 5:06 pm
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

É possível,

Coloquei um colar especial só com os valores. Assim os novos arquivos recebem apenas os valores, sem a referência do arquivo mãe.

 
Postado : 31/08/2016 2:48 pm