Ir ao conteúdo
  • Cadastre-se

Como gerar novas abas (sheets) com macro a partir lista "pré-definida" excel?


Posts recomendados

Boa tarde pessoal.

 

Tenho uma planilha com várias abas (Sheets), sendo as 04 principais:

* Cadastro de Clientes (Onde são inseridos os clientes que são atendidos mensalmente, cada cliente possui uma sheet oculta com seu movimento);

* Total por Cliente (Um resumo cliente à cliente do movimento do mês);

* Geral 06-16 (onde são lançados diariamente os serviços prestados);

* Cliente a Cliente (Serve para consultar o movimento de cada cliente sem a necessidade de ficar re-exibindo e ocultando as planilhas individuais e, serve também de modelo para a criação de uma nova sheet de um novo cliente)

 

Acontece que não estou conseguindo fazer com que a macro funcione corretamente quando é preciso cadastrar um novo cliente.

Gostaria de apenas inserir um novo cliente na sheet "Cadastro de Clientes" e que a macro criasse nova sheet individual para este novo cliente e o inserisse na sheet "Total por Cliente" de acordo com as demais linhas já existentes.

Atualmente só estou conseguindo que a macro cadastre um novo cliente caso coloque o mesmo na célula A20 da sheet "Cadastro de Clientes", ou seja, não estou conseguindo fazer com que a macro verifique se existem novos clientes que precisam ser cadastrados ou não.

 

Para facilitar o entendimento de como está funcionando envio a planilha em anexo para que os colegas me ajudem a resolver esta questão.

 

Agradeço desde já a atenção.

 

João Luiz

Controle Diário - Teste.zip

Link para o comentário
Compartilhar em outros sites

@Basole obrigado por compartilhar, mas o site para baixar é bloqueado aqui na empresa e hoje o pessoal de TI não está.

 

Se ajudar, o  início da minha função é o seguinte:

 

Sub CadastroClientes()
Dim codNovoCli As String
    Sheets("Cadastro Clientes").Select
    codNovoCli = Range("A20").Value
    Dim linhaExistente As Integer
    linhaExistente = -1
    Sheets("Total por Cliente").Select
    For cont = 1 To 30
        If Range("A" & cont).Value = codNovoCli Then
            linhaExistente = cont
        End If
    Next
    If linhaExistente < 0 Then
      Sheets.Add After:=Sheets(Sheets.Count)
      Sheets(Sheets.Count).Name = codNovoCli
            
     Sheets("Cliente a Cliente").Select
    Columns("A:B").Select
    Range("B4").Activate
    Selection.EntireColumn.Hidden = False
    Cells.Select
    Selection.Copy
    Sheets(codNovoCli).Select
    Cells.Select
    ActiveSheet.Paste
    Range("B5").Select
    Application.CutCopyMode = False

...

Estou com dificuldades para que ali onde ele verifica o CodNovoCli passe a verificar toda a coluna a partir de A3 e caso encontre algum não cadastrado cadastrar automaticamente.

 

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...
Visitante
Este tópico está impedido de receber novas respostas.

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