Notifications
Clear all

Copiar nomes de abas de outro arquivo.

7 Posts
3 Usuários
0 Reactions
1,433 Visualizações
JeanJ.
(@jeanj-2)
Posts: 35
Eminent Member
Topic starter
 

Boa tarde,

Necessito de uma macro que execute a seguinte função:

Eu possuo vários arquivos em Excel de informação de projetos, e necessito ter uma planilha principal de listagem que abra um arquivo que possua várias abas e cada aba possui um nome de projeto. Assim que abrir essa macro irá copiar o nome de todas as abas de uma pasta de projetos e listar todos os nomes neste arquivo principal de função de listagem apenas.

Agradeço desde já quem se oferecer a ajudar!

 
Postado : 19/08/2016 11:37 am
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa tarde JeanJ,

Você quer pegar os nomes das planilhas de um arquivo e listar em uma planilha de de um outro arquivo?

Em anexo coloquei um exemplo de uma macro que faz isso, você vai precisar colocar o caminho do seu computador.
O código está no módulo 1 do arquivo "Recebe os nomes das planilhas".

att,

 
Postado : 19/08/2016 12:19 pm
JeanJ.
(@jeanj-2)
Posts: 35
Eminent Member
Topic starter
 

Perfeito Brunoro!

Exatamente isso mesmo que necessito!
Muito obrigado!!!

Att,

Jean J.

 
Postado : 19/08/2016 12:30 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Tópico destrancado em atendimento a solicitação do autor.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 21/08/2016 12:08 pm
JeanJ.
(@jeanj-2)
Posts: 35
Eminent Member
Topic starter
 

Boa tarde!

Conforme necessidade que me surgiu após ajuda de Brunoxro, segue abaixo o que preciso alterar em "Recebe os nomes das planilhas.xlsm" anexada a este post.

Como exemplo em anexo o arquivo Arquivo com abas.xlsx possui abas P1,P2,P3 e P4. Mas nos arquivos onde será copiada o nome das abas possui Somatório|P1|P2|P3|P4|Aprovados|Outros, sendo assim eu tentei trabalhar em um if dentro da macro para que fosse copiado apenas os nomes dos projetos P1,P2,P3 e P4, mas não estou tendo sucesso.

Outra necessidade é que não será apenas um arquivo como exemplo utilizado "Arquivo com abas.xlsx", mas sim de várias empresas, então precisaria pegar nomes das abas de arquivos como empresa1, empresa2, empresa3... empresa100. Após copiar todos os nomes das abas dos arquivos das empresas, estas informações teriam de ser coladas no arquivo Recebe os nomes das planilhas.xlsm, sendo coluna J como exemplo:

| _J_ |
| P1 |
| P2 |
| P3 |
| P4 |
| P1 |
| P2 |
| P3 |
| P4 |
| P1 |
| P2 |
| P.. |

Assim poderei efetuar comparação dos nomes afim de localizar nomes de projetos em excesso ou com nomes incorretos.
Até consegui fazer a macro colar em outra coluna mas não na ordem com vários arquivos das empresas.

Desde já agradeço muito a quem puder me ajudar mais uma vez.

 
Postado : 21/08/2016 12:56 pm
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa noite JeanJ,

Pensei mais no seu problema e desenvolvi uma solução melhor do a que coloquei anteriormente.

A macro nesse arquivo arquivo pega o nome das planilhas de todos os arquivos abertos. Ou seja, abra todo os arquivos "empresa1, empresa2, empresa3... etc" e rode a macro, os nomes irão ser colocados na coluna A.

Sobre a restrição de não pegar nomes específicos: coloquei a restrição para não pegar planilhas (abas) nomeadas com "Somatório","Aprovados", "Outros".
Caso tenha outra restrição, basta adicionar um Or no IF no código seguindo o que já está colocado lá.

Obs: No momento a macro está limitada a 101 nomes, caso precise de mais aumente o limite no código.

De retorno.

att,

 
Postado : 21/08/2016 8:48 pm
JeanJ.
(@jeanj-2)
Posts: 35
Eminent Member
Topic starter
 

Bom dia Brunoxro!

Ficou excelente!!!
Exatamente isto mesmo que eu estava necessitando.
Mais uma vez muito obrigado!
Um abraço!

Jean J.

 
Postado : 22/08/2016 6:27 am