Notifications
Clear all

Renomear planilha a partir de uma celula

9 Posts
2 Usuários
0 Reactions
1,157 Visualizações
(@cibyl)
Posts: 5
Active Member
Topic starter
 

Gente, preciso de ajuda pra fazer um macro que renomeia uma planilha já criada com o conteúdo da célula J7.

O nome da planilha será "0 - 13102015_Campanha_full_pont", "1 - 13102015_Campanha_full_pont" e por ai vai. Nesse caso especifico a data é 13102015, mas gostaria que deixasse algo fácil pra q eu pudesse alterar, porque a planilha já vem assim quando eu extraio ela de um processo interno e a data é sempre no dia da extração.

 
Postado : 07/12/2015 12:36 pm
(@cibyl)
Posts: 5
Active Member
Topic starter
 

Gente, preciso de ajuda pra fazer um macro que renomeia uma planilha já criada com o conteúdo da célula J7.

O nome da planilha será "0 - 13102015_Campanha_full_pont", "1 - 13102015_Campanha_full_pont" e por ai vai. Nesse caso especifico a data é 13102015, mas gostaria que deixasse algo fácil pra q eu pudesse alterar, porque a planilha já vem assim quando eu extraio ela de um processo interno e a data é sempre no dia da extração.

Desculpe, acabei explicando algo errado, os nome da planilhas sempre serão diferentes e a data é relacionada a outro processo e não ao de exportação

 
Postado : 07/12/2015 12:54 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Cibyl,

Boa tarde!

Supondo que na célula J7 da sua planilha contenha apenas 07122015 e que o nome do p´róximo arquivo começasse com 2 - ..., você poderá utilizar o código abaixo:

Sub SalvarPlanComo()
    Dim Caminho As String
    
    Caminho = ActiveWorkbook.Path
    ActiveWorkbook.SaveAs Filename:= _
    Caminho & "" & "2 - " & Range("J7").Value & "07122015_Campanha_full_point.xlsm", FileFormat _
    :=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 07/12/2015 1:01 pm
(@cibyl)
Posts: 5
Active Member
Topic starter
 

Cibyl,

Boa tarde!

Supondo que na célula J7 da sua planilha contenha apenas 07122015 e que o nome do p´róximo arquivo começasse com 2 - ..., você poderá utilizar o código abaixo:

Sub SalvarPlanComo()
    Dim Caminho As String
    
    Caminho = ActiveWorkbook.Path
    ActiveWorkbook.SaveAs Filename:= _
    Caminho & "" & "2 - " & Range("J7").Value & "07122015_Campanha_full_point.xlsm", FileFormat _
    :=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub

Boa tarde Wagner Morel,

desculpe, acho que não especifiquei o suficiente, sou nova no fórum e em VBA. Por favor, poderia observar a imagem e toma-la como exemplo: http://prntscr.com/9bfyqa
Pois não me referi ao arquivo e sim a aba. Dessa forma queria renomear cada planilha (aba) de acordo com o conteúdo Célula J7 (sempre número em formato de texto).

Desde já, agradeço a ajuda (:

 
Postado : 07/12/2015 1:13 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Desculpe. Não consigo ver a imagem enviada aqui no meu trabalho.

Salve sua imagem no formato JPG e anexe a mesma aqui no site. Logo abaixo da caixa de edição de texto que se abre para que você registre a dúvida ou responda uma dúvida, existe um botão chamado Adicionar um anexo. ao escolher essa opção o site disponibiliza um botão chamado Selecionar arquivo. Aí basta procurar o arquivo JPJ que você salvou e clicar novamente em Adicionar um anexo e depois em enviar.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 07/12/2015 1:27 pm
(@cibyl)
Posts: 5
Active Member
Topic starter
 

Wagner Morel,

Sem problemas, segue a imagem:

 
Postado : 07/12/2015 1:33 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Cibyl,

Pela imagem que você colocou, observei que as abas estão renomeadas com a um número inicial, seguido de um travessão com a data de 14102015 (que acho que é a data que deve estar na sua célula J7) mais um underline e seguido de um texto, como, por exemplo a primeira aba que se chama "0 - 14102015_Pré_aprovados_TAM_". Observei também que as outras abas também têm um padrão de nomeação semelhante no início (muda apenas a numeração).

Bom... como você pretende renomear automaticamente as abas com textos diferentes? A parte do número e da data (que deve está contida em J7) é fácil de fazer. Todavia, e a questão dos textos das abas?

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 07/12/2015 1:47 pm
(@cibyl)
Posts: 5
Active Member
Topic starter
 

Cibyl,

Pela imagem que você colocou, observei que as abas estão renomeadas com a um número inicial, seguido de um travessão com a data de 14102015 (que acho que é a data que deve estar na sua célula J7) mais um underline e seguido de um texto, como, por exemplo a primeira aba que se chama "0 - 14102015_Pré_aprovados_TAM_". Observei também que as outras abas também têm um padrão de nomeação semelhante no início (muda apenas a numeração).

Bom... como você pretende renomear automaticamente as abas com textos diferentes? A parte do número e da data (que deve está contida em J7) é fácil de fazer. Todavia, e a questão dos textos das abas?

Wagner Morel,

quero que "1 - 14102015_Acao_TAMItaucard_b" se torne "714535" (conteúdo J7), "0 - 14102015_Pré_aprovados_TAM_" se torne "714762" (conteúdo J7), assim respectivamente. Caso isso não seje possível, posso manualmente mudar o nome das abas para "1", "2", "3", dessa forma fica mais fácil de se trabalhar com esses nomes mais exatos e substitui-los pelo conteúdo da célula J7.

 
Postado : 07/12/2015 1:56 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Ok.

Acho que entendi. Como o Excel não consegue dá o mesmo nome (você diz que o texto sempre será a célula J7) para todas as abas, fiz de uma maneira que o c ódigo sempre acrescentará antes do texto da célula J7, um número sequencial.

Veja no exemplo anexo.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 07/12/2015 3:05 pm