Ir ao conteúdo
  • Cadastre-se

Macro para criar renomear planilhas


Posts recomendados

Galera,

 

Eu sou MUITO junior no excel ... entendo muito pouco de macros.

Preciso construir uma planilha com várias novas funções, por isso vou detalhar separado, pois se eu conseguir como fazer uma delas, ficarei feliz!

 

Há uma pasta que crio todo mês com várias planilhas(abas), todas no mesmo modelo, porém o nome da planilha (aba) muda de acordo com o cliente, e alguns valores dentro dela também. Queria descobrir ao menos uma macro que criasse todas as planilhas(abas) a partir de uma lista com o modelo, e acho que o resto fica mais fácil. Quero ir resolvendo por partes, para conseguir acompanhar o processo todo rs!

 

Alguém consegue me ajudar? Tem algum código pronto para isso?

 

Eu tenho uma pasta com uma planilha modelo, e uma outra com a lista de clientes que precisaram ter uma planilha. alguém?

Link para o comentário
Compartilhar em outros sites

Segue rotina para criar e nomear nova planilha(aba), no caso novo cliente. 

 

Para testar, abra um nova pasta de trabalho, crie um modulo (Alt+F11), e cole o codigo abaixo.

Renomeie a plan1 como "Clientes" e na "a2" insira o nome do cliente.

Na plan2 renomeie como modelo (seria a planilha modelo do seu cliente), e aperte as teclas (Alt+f8) e exceute a macro 'Novo_Cliente'

Private Sub Novo_Cliente()
    Dim ws As Worksheet
    Set ws = Sheets("clientes")
    'verifica se o nome é repetido
    For k = 3 To Worksheets.Count
        If Sheets(k).Name = ws.[a2] Then
            MsgBox "Este nome já existe!", _
                   vbInformation, "Erro!"
            Exit Sub
        End If
    Next
    'solicita autorização
    If MsgBox("Deseja cadastrar este cliente?", _
              vbYesNo + vbQuestion, "Atenção!") = vbNo Then Exit Sub

    Application.ScreenUpdating = False

    'deixa a aba visível, copia e oculta
    Sheets("MODELO").Visible = True
    Sheets("MODELO").Copy After:=Sheets("CLIENTES")
    Sheets("MODELO").Visible = False
    'nomeia a nova aba
    ActiveSheet.Name = ws.[a2]
    'Dim strformula As String
    'strformula = "='" & ActiveSheet.Name & "'!D2"

    'vai para aba clientes
    Sheets("CLIENTES").Select
    Application.ScreenUpdating = True
End Sub

 

* no momento q estava postando você anexou um modelo, poriso nao considerei esta ação. 

Link para o comentário
Compartilhar em outros sites

Segue rotina para criar e nomear nova planilha(aba), no caso novo cliente. 

 

Para testar, abra um nova pasta de trabalho, crie um modulo (Alt+F11), e cole o codigo abaixo.

Renomeie a plan1 como "Clientes" e na "a2" insira o nome do cliente.

Na plan2 renomeie como modelo (seria a planilha modelo do seu cliente), e aperte as teclas (Alt+f8) e exceute a macro 'Novo_Cliente'

Private Sub Novo_Cliente()

    Dim ws As Worksheet

    Set ws = Sheets("clientes")

    'verifica se o nome é repetido

    For k = 3 To Worksheets.Count

        If Sheets(k).Name = ws.[a2] Then

            MsgBox "Este nome já existe!", _

                   vbInformation, "Erro!"

            Exit Sub

        End If

    Next

    'solicita autorização

    If MsgBox("Deseja cadastrar este cliente?", _

              vbYesNo + vbQuestion, "Atenção!") = vbNo Then Exit Sub

    Application.ScreenUpdating = False

    'deixa a aba visível, copia e oculta

    Sheets("MODELO").Visible = True

    Sheets("MODELO").Copy After:=Sheets("CLIENTES")

    Sheets("MODELO").Visible = False

    'nomeia a nova aba

    ActiveSheet.Name = ws.[a2]

    'Dim strformula As String

    'strformula = "='" & ActiveSheet.Name & "'!D2"

    'vai para aba clientes

    Sheets("CLIENTES").Select

    Application.ScreenUpdating = True

End Sub

 

* no momento q estava postando você anexou um modelo, poriso nao considerei esta ação. 

Cara muito bom!!!

 

Me ajudou em partes já. Como eu terei que fazer essa ação para vários clientes, sabe como consigo que ela repita essa ação inúmeras vezes?

Link para o comentário
Compartilhar em outros sites

  • 6 anos depois...

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...