Página 1 de 1

Numeração Sequencial Automática

Enviado: 21 Ago 2018 às 16:27
por CAMILOALVES
Boa tarde amigos,
Tenho 01 arquivo com várias planilhas, sendo 01 delas utilizada para cadastro de OS’s (Inserir OS) e uma destinadas a receber os dados de origem dessa inclusão (Registro de OS) como se fosse um banco de dados.
Gostaria de criar um número sequencial no campo Nº OS na planilha (Inserir OS) onde esse número fosse determinado pela sequencia: numeral + ano atual, por exemplo : 0001/2018, 0002/2018, e assim por diante de uma forma que mesmo fechando o arquivo, ao abrí-lo novamente o numero de série continue de onde parou.
Uso o Excel 2010.
Alguém poderia me dar uma luz de como fazer isso?
Desde já agradeço!!!!

Numeração Sequencial Automática

Enviado: 21 Ago 2018 às 17:31
por fcarlosc2018
Boa-tarde CAMILOALVES

O código para "autonumeração" na prática é bem simples, o ideal seria você postar um arquivo-exemplo com dados fictícios para melhor solucionar sua dúvida.

Numeração Sequencial Automática

Enviado: 22 Ago 2018 às 09:29
por CAMILOALVES
Bom Dia!
Na Planilha em Anexo:
Gostaria de criar um número sequencial no campo Nº OS na planilha (Inserir OS) onde esse número fosse determinado pela sequencia: numeral + ano atual, por exemplo : 0001/2018, 0002/2018, e assim por diante , de uma forma que mesmo fechando o arquivo, ao abri-lo novamente o numero de série continue de onde parou.
Devendo também checar se NÃO HÁ duplicidade em dados anteriores armazenados na planilha "Registro de OS".
Atenciosamente

Re: Numeração Sequencial Automática

Enviado: 22 Ago 2018 às 15:23
por osvaldomp
Segue uma ideia.

1. para inserir o novo número da OS em C9 cole o código abaixo no módulo da planilha Inserir OS
Código: Selecionar todos
Private Sub Worksheet_Activate()
 Dim LR As Long, OS As String
  With Sheets("Registro de OS")
   LR = .Cells(Rows.Count, 1).End(3).Row
   OS = Format(Left(.Cells(LR, 1), 4) + 1, "0000") & "/" & Year(Date)
  End With
 [C9] = OS
End Sub
2. se você alterar a sequência dos campos ou em Inserir OS ou em Registro de OS aí poderá utilizar o código abaixo no lugar dos atuais Sub lsIncluirOS e Sub lsLimpaMovimento
Código: Selecionar todos
Sub CadastraOS()
 Dim LR As Long
  With Sheets("Registro de OS")
   LR = .Cells(Rows.Count, 1).End(3).Row + 1
   .Cells(LR, 1).Resize(, 5).Value = Application.Transpose([C9:C13].Value)
   .Cells(LR, 6).Resize(, 5).Value = Application.Transpose([E9:E13].Value)
   .Cells(LR, 11).Resize(, 3).Value = Application.Transpose([G9:G11].Value)
  End With
  [C9:C13,E9:E13,G9:G11] = ""
  [C9] = Format(Left(Sheets("Registro de OS").Cells(LR, 1), 4) + 1, "0000") & "/" & Year(Date)
End Sub

Numeração Sequencial Automática

Enviado: 22 Ago 2018 às 15:57
por CAMILOALVES
Osvaldo, Boa Tarde
Private Sub Worksheet_Activate()
Dim LR As Long, OS As String
With Sheets("Registro de OS")
LR = .Cells(Rows.Count, 1).End(3).Row
OS = Format(Left(.Cells(LR, 1), 4) + 1, "0000") & "/" & Year(Date)
End With
[C9] = OS
End Sub
Testei e não funcionou, poderia anexar a planilha com suas alterações?
Desde já agradeço

Re: Numeração Sequencial Automática

Enviado: 22 Ago 2018 às 16:20
por osvaldomp
Camilo, me desculpe. Faltou informar sobre a coluna A da planilha Registro de OS.

1. formate A7 para Texto
2. coloque em A7 ~~~> 0001/2018
3. cole em A8 ~~~> =TEXTO(ESQUERDA(A7;4)+1;"0000")&"/"&ANO(HOJE()) e arraste até A56
Em seguida, se você quiser, poderá substituir as fórmulas pelos seus valores ~~~> selecione A2:A56 / Copiar / Colar Valores

Assim, ao ativar a planilha Inserir OS, o código que passei irá inserir em C9 o número da OS seguinte.