¿Macro para poner auto numeración con Formato?

Para Dante Amor

Tengo una hoja excel con una casilla que quiero que me ponga un formato especifico de numeración, que sería P-170420170000, donde P sería abreviatura de Presupuesto, 17042017 es la fecha y 0000 es la numeración real de presupuesto y que cuando cambie de año la numeración empiece otra vez desde cero, lo tengo puesto que cuando se rellene el cliente se active la numeración, de todas forma en el archivo que te envié lo puedes ver

1 respuesta

Respuesta
2

No recibí el correo.

Veo que tienes una botón "finalizar presupuesto", al final de ese código pon lo siguiente para incrementar el consecutivo:

Sub finalizar_presupuesto()
'Código del botón "finalizar presupuesto"
    '
    'aquí va tu código
    '
    '
    'fin tu código
    '
    '
'Por Dante Amor
    'Poner el siguiente códiog para incrementar el consecutivo
    Set h = Sheets("GENERAR_PRESUPUESTO")
    conse = h.Range("L4").Value
    If conse = "" Then
        conse = "P-" & Format(Day(Date), "00") & Format(Month(Date), "00") & Year(Date) & "0000"
    Else
        num = Format(Val(Right(conse, 4)) + 1, "0000")
        conse = Left(conse, 10) & num
    End If
    h.Range("L4").Value = conse
End Sub

Ahora para verificar el cambio de año,  pon la siguiente macro en los eventos de ThisWorkbook, lo que va a hacer, cada que abras el libro, es verificar el año, si el año es diferente a lo que tiene el consecutivo en la hoja "GENERAR_PRESUPUESTO", entonces cambia el año en el consecutivo y empieza desde "0000".

Private Sub Workbook_Open()
'Por.Dante Amor
    Set h = Sheets("GENERAR_PRESUPUESTO")
    conse = h.Range("L4").Value
    año = Val(Mid(conse, 7, 4))
    If año <> Year(Date) Then
        conse = "P-" & Format(Day(Date), "00") & Format(Month(Date), "00") & Year(Date) & "0000"
        h.Range("L4").Value = conse
    End If
End Sub

Instrucciones para poner la macro en los eventos ThisWorkbook

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a ThisWorkbook
  4. En el panel del lado derecho copia la macro

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Buenas tardes Dante, como siempre con tu explicaciones lo entendí todo a la primera, solo tengo una duda ¿cómo toma el valor de la hoja de presupuestos emitidos del ultimo presupuesto emitido?

Muchas gracias por tu ayuda

El último deberá estar en la celda L4

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas