Ir ao conteúdo
  • Cadastre-se

Excel Renomear planilha com nome localizado em um célula


Posts recomendados

Bom dia amigos!

 

Sou iniciante nas macros do excel, estou fazendo um planilha que preciso muito de ajuda dos caros colegas;
Primeiramente vou tentar descrever minha planilha 
Plan1 - Renomeei como "Banco" é onde esta meu banco de dados relacionados a produtos e preços
Plan2 - Renomeei como "Comanda"  onde fica uma lista de produtos e na célula "C2" o nome do cliente

Plan3 -  Renomeei como "Vendas" onde fica registrado todas as vendas para meu controle futuro
Preciso de uma macro para que:
Copie todos dados da Planilha "comanda", crie um nova planilha, cole os dados, renomeei a planilha como nome do cliente que esta na célula "C2";
Retorne a planilha "comanda" apague todos os dados e fique na célula "C2" para inserir novo pedido. 

consigo fazer os passos de "copie e cole" mas não estou conseguindo renomear a planilha para que fique varia planilhas com o nome de clientes 
Ex de sequencia: Banco, Comanda, Vendas, Diego, Pedro, José, Lucas, Maria e etc...
Para quando eu tivesse que alterar ou inserir pedidos eu iria na planilha do cliente e alterava ou incluía dados 

 

Mas quando faço isso ele da uma mensagem erro no tempo de execução 9, subscrito fora do intervalo

Sub GRAVAR()
'
' GRAVAR Macro
'
' Atalho do teclado: Ctrl+g
'
    Cells.Select
    Selection.Copy
    Sheets.Add After:=Sheets(Sheets.Count)
    ActiveSheet.Paste
    Range("C2:H2").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Plan3").Select
    Sheets("Plan3").Name = "DIEGO     "
    Sheets("COMANDA").Select
    Range("D5:W19").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("C2:H2").Select
    Selection.ClearContents
End Sub

Quando faço sem renomear ele faz tudo certinho 
Sub GRAVAR()
'
' GRAVAR Macro
'
' Atalho do teclado: Ctrl+g
'
    Cells.Select
    Selection.Copy
    Sheets.Add After:=Sheets(Sheets.Count)
    Cells.Select
    ActiveSheet.Paste
    Sheets("COMANDA").Select
    Range("D5:W19").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("C2:H2").Select
    Selection.ClearContents
End Sub


Gostaria de obter ajudar de vcs e espero ter conseguido passar meu problema, desde ja agradeço a todos colegas.

Link para o comentário
Compartilhar em outros sites

Segue uma sugestão para um caminho diferente. Veja se aproveita.

 

1. prepare uma planilha de nome ComandaMatriz com a estrutura desejada e sem o preenchimento de dados

2. para cada nova cópia desejada daquela planilha insira em C2 dela o nome do cliente e em seguida rode o código abaixo. O código irá criar uma cópia pronta para o preenchimento e renomeará com o nome inserido em C2.

 

Sub FazCópiaRenomeiaMatriz()
 Sheets("ComandaMatriz").Copy After:=Sheets(Sheets.Count)
 ActiveSheet.Name = [C2]
End Sub

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...