Generar Número orden de servicio consecutivo en excel

DAM, reciba un cordial y respetuoso saludo

Dam, Tengo una plantilla (impresa) donde los usuarios SOLICITAN un servicio correctivo o preventivo de máquinas.

Creo que pueden realizar el requerimiento mediante la plantilla pero en excel. Para esto, voy a colocar el archivo en excel en la red (en un equipo y en una carpeta).

DAM, se debe tener en cuenta que dos o más usuarios pueden realizar al tiempo un requerimiento, esto con la numeración, debe salir un mensaje de espera a cada usuario hasta cuando uno "radique"

La idea es que cada usuario al abrir el archivo en excel (donde va a radicar el servicio) se genener un número de ORDEN DE SERVICIO o de RADICACION, el cual debe ser consecutivo.

Luego de solucionado o atendido el requerimiento, el usuario calificará el servicio y atención.

Pregunta: Favor de indicarme como hacer para la generación del número de ORDEN DE SERVICIO o de RADICACION, el cual debe ser consecutivo

1 Respuesta

Respuesta
1

H o l a:

Hace tiempo hice algo similar. La idea es que en un libro1, tengas una aplicación para registrar los datos utilizando un userform. En un libro2, deberás tener la base de datos, es decir, en el libro2 se pondrá el número consecutivo y se registrarán las "ordenes de servicio".

El userform va a controlar el consecutivo, cada que un usuario abra el userform, deberá solicitar un número consecutivo, el userform le entregará el siguiente disponible. Si otro usuario solicita otro consecutivo, el userform entregará el siguiente disponible, claro, considerando el consecutivo anteriormente entregado.

El usuario captura su requerimiento y guarda.

Te anexo las macros para obtener el consecutivo, guardar y cancelar un consecutivo:

Private Sub CommandButton1_Click()
'Por.Dante Amor
'
'Obtener número
    If Label1 <> "" Then
        MsgBox "Ya tienes un número, no puedes obtener otro", vbCritical, "TICKETS"
        Exit Sub
    End If
    Application.ScreenUpdating = False
    Set l1 = ThisWorkbook
    ruta = "\\Damor2\Blog\"
    arch = "libro a.xlsm"
    Set l2 = Workbooks.Open(ruta & arch, , False)
    Set h2 = l2.Sheets(1)
    l1.Activate
    act = h2.Range("A" & l2.Sheets(1).Range("A" & Rows.Count).End(xlUp).Row)
    f = h2.Range("A" & Rows.Count).End(xlUp).Row
    nvo = act + 1
    Label1.Caption = nvo
    h2.Range("A" & f + 1) = nvo
    Application.DisplayAlerts = False
    l2.Save
    l2.Close
End Sub
'
Private Sub CommandButton2_Click()
'Por.Dante Amor
'
'Guardar
    Application.ScreenUpdating = False
    If Label1.Caption = "" Then
        MsgBox "Primero debes obtener un número", vbCritical, "TICKETS"
        Exit Sub
    End If
    If TextBox1 = "" Then
        MsgBox "Captura un problema", vbCritical, "TICKETS"
        Exit Sub
    End If
    Set l1 = ThisWorkbook
    ruta = "\\Damor2\Blog\"
    arch = "libro a.xlsm"
    Set l2 = Workbooks.Open(ruta & arch, , False)
    Set h2 = l2.Sheets(1)
    l1.Activate
    Set b = h2.Range("A:A").Find(Val(Label1.Caption))
    If Not b Is Nothing Then
        h2.Cells(b.Row, "B") = TextBox1
        h2.Cells(b.Row, "C") = TextBox2
    End If
    l2.Save
    l2.Close
    limpiar
    MsgBox "Datos guardados", vbInformation, "TICKETS"
End Sub
'
Private Sub CommandButton3_Click()
'Por.Dante Amor
'
'Cancelar
    Application.ScreenUpdating = False
    If Label1.Caption = "" Then
        MsgBox "Primero debes obtener un número", vbCritical, "TICKETS"
        Exit Sub
    End If
    Set l1 = ThisWorkbook
    ruta = "\\Damor2\Blog\"
    arch = "libro a.xlsm"
    Set l2 = Workbooks.Open(ruta & arch, , False)
    Set h2 = l2.Sheets(1)
    l1.Activate
    Set b = h2.Range("A:A").Find(Val(Label1.Caption))
    If Not b Is Nothing Then
        h2.Cells(b.Row, "B") = "Cancelado"
    End If
    l2.Save
    l2.Close
    limpiar
End Sub
'
Private Sub CommandButton4_Click()
'Por.Dante Amor
'Salir
    Unload Me
End Sub
'
Private Sub UserForm_Activate()
'Por.Dante Amor
'Cargar datos iniciales
    Label6.Caption = Application.UserName
    Label7.Caption = Date
End Sub
'
Sub limpiar()
'Por.Dante Amor
    Label1.Caption = ""
    TextBox1 = ""
    TextBox2 = ""
    TextBox3 = ""
    TextBox4 = ""
    TextBox5 = ""
End Sub

El formulario debe tener los siguientes controles:


Avísame cualquier cambio que necesites.


':)
S a l u d o s . D a n t e A m o r
':) Si es lo que necesitas. Recuerda valorar la respuesta. G r a c i a s.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas