Numero de Pedido Automático.

Anônima
2014-04-30T15:32:47+00:00

Olá pessoal.

Podem ajudar por favor?

Estou procurando uma forma de inserir numa célula um numero de série automático de pedido de materiais.

Necesito que todas as vezes que for abrir um pedido novo, seja criado uma novo numero de série automaticamente.

Alguém conhece algo aplicável?

Obrigado.

Microsoft 365 e Office | Excel | Para uso doméstico | Windows

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários

Resposta aceita pelo autor da pergunta

Anônima
2014-04-30T19:49:24+00:00

Alexandre, entendo sua questão.

Olha só, a macro que passei funciona para a geração de um número único caso você venha a trabalhar com uma lista de pedidos, em que cada pedido seria feito em uma unica linha da planilha, dessa forma acredito que a forma proposta seria útil.

Outra forma, que acredito ser a mais ideal para seu caso, agora encaixando na ideia do formulario seria o preenchimento desse número de serial quando alguma ação fosse tomada ou uma tecla pressionada.

Segue:

  • Na mesma tela onde você colou a macro, recomece do zero o procedimento anterior, ou seja, apague a macro anteriormente proposta;
  • Crie um novo módulo, na mesma tela do Visual Basic, vá em Inserir -> Módulo.
  • Copie e cole o código abaixo:

*OBS: Voce pode alterar a celula A1 da macro para a célula ideal dentro do seu formulário, neste caso considerei a A1.

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub Inserir_ID()

Application.EnableEvents = False

   With Range("A1")

     If .Value = "" Then

        .Value = Day(Now()) & Month(Now()) & Right(Year(Now()), 2) & Round(Timer(), 0)

     End If

    End With

Application.EnableEvents = True

End Sub

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

  • Feito isso feche a tela e vá até a aba "Exibição", clique em "Macros", -> "Vizualizar Macro".
  • Selecione a macro "Inserir_ID" e vá em "Opções".
  • Crie uma tecla de atalho para execução da macro preenchendo o campo correspondente.

Dessa forma a macro sera ativada todas as vezes que essa tecla for pressionada, e o campo estiver em branco, ou seja, já nao tenha outro numero preenchido, de outra ordem..

Isso te ajuda? Abs

Esta resposta foi útil?

3 pessoas acharam esta resposta útil.
0 comentários Sem comentários

5 respostas adicionais

Classificar por: Mais útil
  1. Anônima
    2016-07-27T13:53:39+00:00

    Rafael gostei da alternativa

    Mas esse código gera um número

    com base na data e hora ok ?

    como seria um código para o numero começar por exemplo em:

    000001     e cada vez que uma nova planilha for criada (ou crt + tecla no caso)

    ele aumenta em uma unidade ex:   000002   ...   000003 ......  000004  ...

    Esta resposta foi útil?

    0 comentários Sem comentários
  2. Anônima
    2014-04-30T19:29:32+00:00

    Olá Rafael.

    Testei o código e funciona direitinho. Porém, é uma aplicação simples o que preciso.

    É uma planilha com formato PEDIDO DE COMPRA já para impressão que é preenchida pela nossa auxiliar de escritório a cada pedido realizado por um cliente.

    Este pedido precisa ter um número padrão que será vinculado à NFe que será emitida quando da saída do material para a entrega ao cliente.

    Isto demonstra o nosso fluxo.

    Lanço portanto mais uma pergunta: - desenvolvo este formulário em volta do código que me forneceu?

    Obrigado e outro abraço.

    Alexandre

    Esta resposta foi útil?

    0 comentários Sem comentários
  3. Anônima
    2014-04-30T18:19:09+00:00

    Fala Alexandre!

    Cara, teremos de apelar para Macros para fazer isso, mas é tranquilo..

    Faça o seguinte, clica com o botão direito na "aba" da sua planilha e vá em "Exibir Código".

    Copie e cole o código abaixo

    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

    Private Sub Worksheet_Change(ByVal Target As Range)

    With Target

    If .Count > 1 Then Exit Sub

        Application.EnableEvents = False

                      With Range("A" & Target.Row)

                    If .Value = "" Then

                    .Value = Day(Now()) & Month(Now()) & Right(Year(Now()), 2) & Round(Timer(), 0)

                    End If

                End With

          Application.EnableEvents = True

    End With

    endit:

        Application.EnableEvents = True

    End Sub

    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

    Ele funciona da seguinte forma: toda fez que uma informação for inserida na coluna "B" será gerado um código serial que não irá se repetir, na "cuouna A" correspondente, funcionando justamente com um número serial.

    *Lembre-se de "salvar como" a planilha e ao fazer isso modificar a caixa "Tipo de Arquivo" para -> "Arquivo Habilitado para Macros", caso contrário a macro não funcionara posteriormente.

    Espero ter colaborado, me diga se funcionou como gostaria.

    Esta resposta foi útil?

    0 comentários Sem comentários
  4. Anônima
    2014-04-30T17:22:38+00:00

    Olá Alexandre!

    Você poderia detalhar melhor a questão explicando como que funciona essa sua rotina e layout da sua planilha? Você está utilizando algum formulário construído em VBA no Excel ou só preenchendo uma nova linha para cada pedido em uma planilha? Da forma que você perguntou fica muito subjetivo a compreensão para tentar dar alguma solução.

    Abraços!

    Esta resposta foi útil?

    0 comentários Sem comentários