none
Gerar números sequenciais com palavras RRS feed

  • Pergunta

  • Boa noite pessoal,

    Estou precisando criar uma fórmula ou código para gerar números em sequências junto com palavras e quando eu excluir uma linha esse número atualizar automaticamente. A sequência seria assim:

    teste-123-001
    teste-123-002
    teste-123-003
    teste-123-004
    teste-123-005

    E caso eu excluísse a linha que contivesse o dado "teste-123-002", a próxima linha ao invés de ficar:

    teste-123-001
    teste-123-003
    teste-123-004
    teste-123-005

    Ela automaticamente se ajustaria para:

    teste-123-001
    teste-123-002
    teste-123-003
    teste-123-004

    É possível?

    sexta-feira, 3 de outubro de 2014 00:52

Respostas

  • Olá Colega!

    Se compreendi corretamente, é possível fazer isso através de fórmula mesmo.

    Você pode utilizar, por exemplo, a fórmula abaixo supondo que sua sequência começa em alguma célula da linha 2:

    ="Teste-123-"&TEXTO(LIN()-1;"000")

    Caso o primeiro valor da sua sequência se inicie em outra linha, basta alterar o "-1" da fórmula para o número da linha superior da célula. Por exemplo, se sua sequência inicia na célula A6, a fórmula ficará: 

    ="Teste-123-"&TEXTO(LIN()-5;"000")

    Espero que ajude.

    Abraços!


    Rafael Kamimura

    • Sugerido como Resposta Rafael Kamimura sexta-feira, 3 de outubro de 2014 13:05
    • Marcado como Resposta LWMN domingo, 5 de outubro de 2014 05:52
    sexta-feira, 3 de outubro de 2014 13:04

Todas as Respostas

  • Já existe uma Thread para essa dúvida...

    http://social.msdn.microsoft.com/Forums/pt-BR/12694a1b-ed43-4ef9-940a-c82bdea028a4/boto-gerar-numeros-sequenciais?forum=vbapt


    Por favor, lembre-se de “Marcar como Resposta” as respostas que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    sexta-feira, 3 de outubro de 2014 01:10
  • Boa noite Jean,

    Eu li o post, mas não vi a solução da forma como eu quero. Seria como uma tabela que atualizasse automaticamente conforme alguma informação for excluída e a numeração recontasse automaticamente.

    sexta-feira, 3 de outubro de 2014 02:37
  • Bom dia pessoal,

    tentando ajudar...

    No excel não existe um evento disparado após excluir uma determinada linha, apenas o evento Change... esse evento é disparado quando qualquer coisa é alterada na planilha....

    assim, se você for usar o evento Change, você deve criar condicoes que verifiquem se o local que está sendo alterado é o que deve chamar o procedimento....

    põe esse código inicialmente em um commandbutton, e testa... depois vai procurando a melhor forma de chamar ele...

      Dim wks As Worksheet
      Dim strTextoFixo As String
      strTextoFixo = "teste-123"
      
      Set wks = ThisWorkbook.Sheets("Plan1")
      Dim lngLinhaInicial As Long
      Dim lngLinhaFinal As Long
      Dim lngSequencial As Long
      
      Dim i As Long
      lngLinhaInicial = 2
      lngLinhaFinal = wks.Range("A65536").End(xlUp).Row
      
      lngSequencial = 1
      
      For i = lngLinhaInicial To lngLinhaFinal
        
        wks.Cells(i, 1).Value = strTextoFixo & "-" & Format(lngSequencial, "000")
        lngSequencial = lngSequencial + 1
        
      Next

    Abraço!


    Natan

    sexta-feira, 3 de outubro de 2014 11:13
  • Olá Colega!

    Se compreendi corretamente, é possível fazer isso através de fórmula mesmo.

    Você pode utilizar, por exemplo, a fórmula abaixo supondo que sua sequência começa em alguma célula da linha 2:

    ="Teste-123-"&TEXTO(LIN()-1;"000")

    Caso o primeiro valor da sua sequência se inicie em outra linha, basta alterar o "-1" da fórmula para o número da linha superior da célula. Por exemplo, se sua sequência inicia na célula A6, a fórmula ficará: 

    ="Teste-123-"&TEXTO(LIN()-5;"000")

    Espero que ajude.

    Abraços!


    Rafael Kamimura

    • Sugerido como Resposta Rafael Kamimura sexta-feira, 3 de outubro de 2014 13:05
    • Marcado como Resposta LWMN domingo, 5 de outubro de 2014 05:52
    sexta-feira, 3 de outubro de 2014 13:04
  • Olá Colega!

    Se compreendi corretamente, é possível fazer isso através de fórmula mesmo.

    Você pode utilizar, por exemplo, a fórmula abaixo supondo que sua sequência começa em alguma célula da linha 2:

    ="Teste-123-"&TEXTO(LIN()-1;"000")

    Caso o primeiro valor da sua sequência se inicie em outra linha, basta alterar o "-1" da fórmula para o número da linha superior da célula. Por exemplo, se sua sequência inicia na célula A6, a fórmula ficará: 

    ="Teste-123-"&TEXTO(LIN()-5;"000")

    Espero que ajude.

    Abraços!


    Rafael Kamimura

    Bom dia Rafael,

    É justamente isso que eu queria.

    Muito obrigado!

    Agradeço a todos os amigos pensa intensão também!

    domingo, 5 de outubro de 2014 05:51