Bom Dia/Boa Tarde/Boa Noite!
VBA – Salvando planilhas em arquivos separados no Excel (SplitSheets):
http://www.tomasvasquez.com.br/blog/mic ... plitsheets
Essa macro está muito boa, mas contém um BUG feio...
Não sei se posso chamar de bug, mas esqueceram de um detalhe fundamental.
A macro realmente salva as planilhas separadamente, porém ela não incorpora as macros, funções, do VBA nas planilhas salvas.
O worksheet original tem várias funções e módulos, e ao utilizar esta macro de salvar planilhas separadas, as planilhas separadas aparecem com erro, por não existir os módulos presentes no original.
Vocês poderiam ajeitar isto por favor?
Sou iniciante em VBA, não sei como fazer o ajuste...
Muito obrigado a todos,
Abraços!
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
[BUG]Salvando Planilhas em arquivos separados no Excel
- Mauro Coutinho
- Jedi
- Mensagens: 1561
- Registrado em: Sáb Mar 13, 2010 8:10 pm
- Localização: São José dos Pinhais - Pr
Re: [BUG]Salvando Planilhas em arquivos separados no Excel
Diego, realmente isso não é um BUG, o que acontece é que por padrão, não se é copiado os Modulos adicionados ao Arquivo, e se por um acaso tivermos alguma Função personalisada e a mesma foi salva como ADD-IN (Suplemento) Padrão e definida para ser utilizada em todos os arquivos a mesma será carregada ao abrir o arquivo em que a mesma estiver, da mesma forma que as Funções Nativas do Excel funcionam.
Sendo assim, se tivermos 5 Abas e cada uma tiver um Evento, e/ou ainda tivermos funções personalizadas que sejam somente utilizadas em determinadas abas, temos de criar rotinas expecificas para tal, e não é tão simples como parece, dependerá de termos Modulos separados expecificos e renomeados tambem, para podermos associar e copiar somente os modulos que nos interessa.
Para ter uma idéia, abaixo tem as rtinas e instruções para se copiar os Modulos de uma Pasta para outra.
Todas rotinas são interessantes, mas de uma ollhada na linha :
Copy A Module From One Project To Another
http://www.cpearson.com/excel/vbe.aspx
[]s
Sendo assim, se tivermos 5 Abas e cada uma tiver um Evento, e/ou ainda tivermos funções personalizadas que sejam somente utilizadas em determinadas abas, temos de criar rotinas expecificas para tal, e não é tão simples como parece, dependerá de termos Modulos separados expecificos e renomeados tambem, para podermos associar e copiar somente os modulos que nos interessa.
Para ter uma idéia, abaixo tem as rtinas e instruções para se copiar os Modulos de uma Pasta para outra.
Todas rotinas são interessantes, mas de uma ollhada na linha :
Copy A Module From One Project To Another
http://www.cpearson.com/excel/vbe.aspx
[]s
Re: [BUG]Salvando Planilhas em arquivos separados no Excel
Bom dia pessoal,
eu preciso de um código que faça o justamente inverso desse código.
Ou seja esse código cria um arquivo excel para cada sheet de um workbook.
Porém o que eu preciso é copiar vários arquivos de um diretório e importar para varias sheets com os seus respectivos nomes.
Ex: Em um diretório "C:\Desktop\arquivos" tenho 3 arquivos de excel "teste1, teste2 e teste3" essa macro iria copiar os dados do arquivo teste1 e criar uma sheets com o nome "teste1" e colocar nessa sheet os dados copiados desse arquivo, copiar o teste2 criar outra sheet com o nome "teste2" e assim sucessivamente até terminar os arquivos existentes.
obs..
a macro esta rodando em um outro workbook fora do diretório onde estão os arquivos.
Não existirá mais do que 8 arquivos no diretório e os seus nomes não conterão mais que 10 caracteres, sendo assim, não terei problema com o tamanho dos nomes das sheet e quantidade de sheets criadas.
Conto com o apoio de voces
eu preciso de um código que faça o justamente inverso desse código.
Ou seja esse código cria um arquivo excel para cada sheet de um workbook.
Porém o que eu preciso é copiar vários arquivos de um diretório e importar para varias sheets com os seus respectivos nomes.
Ex: Em um diretório "C:\Desktop\arquivos" tenho 3 arquivos de excel "teste1, teste2 e teste3" essa macro iria copiar os dados do arquivo teste1 e criar uma sheets com o nome "teste1" e colocar nessa sheet os dados copiados desse arquivo, copiar o teste2 criar outra sheet com o nome "teste2" e assim sucessivamente até terminar os arquivos existentes.
obs..
a macro esta rodando em um outro workbook fora do diretório onde estão os arquivos.
Não existirá mais do que 8 arquivos no diretório e os seus nomes não conterão mais que 10 caracteres, sendo assim, não terei problema com o tamanho dos nomes das sheet e quantidade de sheets criadas.
Conto com o apoio de voces