Boas,
Criei uma macro para abrir algumas abas da planilha.
Estou encontrando um erro, porque quando altero o nome da planilha, a macro deixa de funcionar.
Tem como alterar?
Fica o código. Obrigado
Sheets(Array("ExpRn1", "ExpRn2", "ExpRn3", "ExpRn4", "ExpRn5")).Select
Sheets("ExpRn5").Activate
Sheets(Array("ExpRn1", "ExpRn2", "ExpRn3", "ExpRn4", "ExpRn5")).Copy
Windows("Layout.xlsm").Activate
ActiveWindow.ScrollWorkbookTabs Sheets:=-1
Sheets("MenuInicial").Select
Range("A11").Select
Application.CutCopyMode = False
Ok, agora, depois do desabafo conceitual, vamos novamente ao que interessa que é te ajudar, vc quer mover planilhas cujos nomes não mudarão para uma pasta de trabalho cujo nome mudará, é isso?
Existem algumas formas de contornar a situação, mas é assim, o Excel não tem bola de cristal, ele não tem como adivinhar o nome da pasta de trabalho *(ou arquivo) destino.
Então poderíamos considerar que, no momento da copia das planilhas, somente haveria dois arquivos abertos, mas pode haver mais de 2, sempre pode, e o excel teria que escolher qual deles é o destino.
Vc vê, é complicado se tornarmos complicado.
O que vc quer é uma janela que indique quais os arquivos abertos, e vc poderia selecionar ali qual é o destino das planilhas. Porém, se houver somente 2 arquivos, o Excel *(e o VBA) já concluiriam que é no outro arquivo, e se tiver somente um arquivo, uma msg de erro apareceria dizendo: olha, desculpa aí, mas não rola mover ou copiar as planilhas, pq não há outro arquivo aberto além desse...
Agora me respondo brother, é isso que vc precisa ? se for, é fácil fazer e todo mundo pode a partir de agora, entender sua dúvida e fazer um código simples pra vc !
Mais uma vez, desculpa o momento de tensão, não estou mais bravo, me irrito mas passa logo e nosso objetivo aqui é sempre ajudar o próximo !
Abraço
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Sim meu código é este. Apenas vou colocar um "if" para exportar consoante uma condição.
Desculpa pela nomenclatura, mas sou de Portugal e confundo um pouco.
Quando exporto, é criado um novo arquivo. Eu quero que após criar o novo arquivo, ele volte ao arquivo base.
O problema do meu código é que se alterar o nome do arquivo de "janeiro" para "fevereiro" por exemplo, o código mantém.se com o código "janeiro"
Quando exporto, é criado um novo arquivo. Eu quero que após criar o novo arquivo, ele volte ao arquivo base.
Opa, aí sim!!
O nome do arquivo que está rodando a macro, que é o arquivo base, pode ser escrito assim:
ThisWorkbook.Name
Nos seus exemplos de código, troque:
"blá-blá-blá.xlsx" (com as aspas) por ThisWorkbook.name (assim mesmo, sem as aspas) e pronto!
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Assim:
Sheets(Array("ExpRn1", "ExpRn2", "ExpRn3", "ExpRn4", "ExpRn5")).Select Sheets("ExpRn5").Activate Sheets(Array("ExpRn1", "ExpRn2", "ExpRn3", "ExpRn4", "ExpRn5")).Copy Windows(ThisWorkbook.Name).Activate ActiveWindow.ScrollWorkbookTabs Sheets:=-1 Sheets("MenuInicial").Select Range("A11").Select Application.CutCopyMode = False
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
aeee! Resolvido, muito obrigado a todos.
Abraço