Notifications
Clear all

Mover

20 Posts
3 Usuários
0 Reactions
2,390 Visualizações
(@shroeder)
Posts: 57
Trusted Member
Topic starter
 

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

 
Postado : 10/02/2016 12:26 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

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

 
Postado : 11/02/2016 9:13 pm
(@shroeder)
Posts: 57
Trusted Member
Topic starter
 

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"

 
Postado : 12/02/2016 3:04 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

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

 
Postado : 12/02/2016 5:46 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

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

 
Postado : 12/02/2016 5:49 am
(@shroeder)
Posts: 57
Trusted Member
Topic starter
 

aeee! Resolvido, muito obrigado a todos.

Abraço

 
Postado : 12/02/2016 9:23 am
Página 2 / 2