Ir ao conteúdo
  • Cadastre-se
João Luiz dos Santos Junio

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

Recommended Posts

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

Compartilhar este post


Link para o post
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.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×