Página 1 de 1

Renomear planilha com conteúdo de uma célula

Enviado: 14 Out 2019 às 16:07
por DiegoMedeiros
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.

Re: Renomear planilha com conteúdo de uma célula

Enviado: 16 Out 2019 às 16:14
por eduardogrigull
Tente isso:
Código: Selecionar todos
Sub Gravar()

'Adicionar planilha
Sheets.Add After:=Sheets(Sheets.Count)

'Renomear
If Sheets("Comanda").Range("C2").Value = Empty Then GoTo Erro

For i = 1 To Sheets.Count
    If Sheets(i).Name = Sheets("Comanda").Range("C2").Value Then GoTo Erro
Next i

Sheets(Sheets.Count).Name = Sheets("Comanda").Range("C2").Value

'Colar
Sheets(Sheets.Count).Range("A1:Z100") = Sheets("Comanda").Range("A1:Z100")

'Apagar
Sheets("Comanda").Range("A1:Z100").ClearContents

Exit Sub
Erro:
MsgBox "Nome repetido ou nulo!"

Application.DisplayAlerts = False
Sheets(Sheets.Count).Delete
Application.DisplayAlerts = True

End Sub
Substitua a Range por uma maior caso precise!