Contador automático con formato personal vba excel

Quisiera saber si se puede hacer lo siguiente:

Quiero generar un folio en vba que tenga un formato diferente al "1,2,3,4... Etc" por ejemplo que ponga el ultimo numero del año osea "7", seguido del día del año osea "337" y por ultimo que tenga el numero de cliente que atiendo, de modo que quedara así: "7337-0025" esto debería ser automático, a modo que mañana el folio seria "7338-0001" con el primer cliente de mañana, estoy usando un código pero no se como agregar las características que necesito:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
respuesta = MsgBox("¿Nuevo Paciente?", vbYesNo)

If respuesta = vbYes Then
Range("Q1").Value = Range("Q1").Value + 1
End If

ThisWorkbook.Save

End Sub

Espero no ser muy exigente y de antemano agradeciendo la ayuda y tiempo brindado

1 Respuesta

Respuesta
1

Prueba lo siguiente

Private Sub Workbook_BeforePrint(Cancel As Boolean)
'Por.Dante Amor
    respuesta = MsgBox("¿Nuevo Paciente?", vbYesNo)
    If respuesta = vbYes Then
        folio = Range("Q1").Value
        If folio = "" Then
            a = Right(Format(Date, "yyyy"), 1)
            dia = Format(Date, "y")
            con = Format(1, "0000")
        Else
            datos = Split(Range("Q1").Value, "-")
            If UBound(datos) = 1 Then
                a = Right(Format(Date, "yyyy"), 1)
                dia = Format(Date, "y")
                con = Format(Val(datos(1)) + 1, "0000")
            End If
        End If
        Range("Q1").Value = a & dia & "-" & con
    End If
    ThisWorkbook.Save
End Sub

.

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

.

Avísame cualquier duda

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas