Crear un numero de registro correlativo con el año

Necesito que el formulario realizar un consecutivo de un numero incrementando el año y reiniciando los consecutivo si inicia un año nuevo. Logro hacer el consecutivo de los numeros 001 pero no puedo agregarle lo demas...

Quiero que de resultado me de 001/17 el consecutivo seria 002/17 y asi... Hasta que inicie un nuevo año y volver a empezar 001/18, 002/2018... Etc

1 respuesta

Respuesta
1

Puedes ampliar la información, ¿es un formulario VBA o un formulario en la hoja de Excel?, ¿Es decir quieres que se por macros o por fórmula?

Es un formulario en VBA, necesito que sea por macro.

Es un formulario en VBA, necesito que sea por macro.

Actualmente tengo este cuadrito en Excel:

#             |     FECHA       |      #PROFORMA      |      #FACTURA

001        |    04/01/17     |               2110           |            21

002        |    05/01/17     |               2111           |            25

Estaba usando este código:
If Worksheets("SHEET1").Cells(final, 1) <> Empty Then
n_emplea_fin = Application.WorksheetFunction.Max(Range("A:A")) + 1
Worksheets("SHEET1").Cells(i, 1) = n_emplea_fin
End If

Pero ahora necesito que el código me de como resultado:

#             |     FECHA       |      #PROFORMA      |      #FACTURA(EXP)

001/2017        |    04/07/17     |               2110           |            21

002/2017        |    05/08/17     |               2111           |            25

001/2018        |    05/01/18     |               2111           |            28

y que al siguiente año se reinicie nuevamente la cuenta.

Por favor, ayúdenme. Gracias!!

Checa esta macro, es una macro de evento, esta es pla pantalla con el resultado que se busca, la diagonal tiene un espacio en blanco esto porque si no dejo ese espacio en blanco la hoja de Excel lo considera como una operación de división y lo pone el resultado en vez de la fecha, la macro esta debajo de esta pantalla.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 Then
Set datos = Range("a2").CurrentRegion

With datos
Set datos = .Rows(2).Resize(.Rows.Count - 2, .Columns.Count)
fyear = Year(Date)
filas = .Rows.Count
fecha = Year(.Cells(filas + 1, 2))
With .Cells(filas + 1, 1)
.Value = filas + 1
ayear = Year(Date): fyear = Year(.Cells(fila + 1, 2))
If ayear = fyear Then numero = Format(filas, "000") & " /" & Right(fyear, 2)
If ayear <> fyear Then numero = Format(1, "000") & " /" & Right(fyear, 2)
.Value = numero
.HorizontalAlignment = xlRight
End With
End With
End If

End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas