Macro para crear consecutivo en formulario

Tengo un formulario donde ingreso algunos datos para asignar un numero de folio, me gustaría que en lugar de asignarlo yo como lo estoy haciendo ya que es un consecutivo, se asigne automáticamente, es decir que sea un consecutivo ya que ese numero se estaría guardando en la hoja, tendríamos una condición para definir si asigna el consecutivo de un número u otro.

2 respuestas

Respuesta
3

Entiendo que en alguna parte del formulario se debe poner el siguiente número de un consecutivo.

Pero necesito conocer lo siguiente:

1.- En qué control quieres el nuevo consecutivo, en un textbox, ¿en un label?

2.- En dónde encuentro el último consecutivo, en cuál hoja, ¿en cuál columna?

3.- En la columna en dónde tienes el último consecutivo hay más registros hacia abajo, ¿o el último registro es el que tiene el último consecutivo?

4.- ¿En qué momento quieres que te aparezca el nuevo consecutivo?

5.- ¿En qué momento quieres guardar el nuevo consecutivo?

6.- Y por último, a qué te refieres con esto: "tendríamos una condición para definir si asigna el consecutivo de un número u otro"


Puedes empezar con esto. Pone el siguiente consecutivo que está en la hoja1, columna "A"

Private Sub UserForm_Activate()
'Pone el siguiente consecutivo
    Label1 = Application.Max(Sheets("Hoja1").Columns("A")) + 1
End Sub

Cuando presionas un botón, se guarda el consecutivo en la última fial.

Private Sub CommandButton1_Click()
'Para pasar los datos del formulario a la hoja
    u = Range("A" & Rows.Count).End(xlUp).Row + 1
    Range("A" & u) = Val(Label1)
    Label1 = ""
    Unload Me
End Sub

Hola Dante:

Enseguida mis comentarios:

1.- En qué control quieres el nuevo consecutivo, en un textbox, ¿en un label? En un label

2.- En dónde encuentro el último consecutivo, en cuál hoja, ¿en cuál columna? En la hoja 1, columna F

3.- En la columna en dónde tienes el último consecutivo hay más registros hacia abajo, ¿o el último registro es el que tiene el último consecutivo? No tengo más registros hacia abajo, el ultimo registro es el ultimo consecutivo.

4.- ¿En qué momento quieres que te aparezca el nuevo consecutivo? Cuando cargan toda la información en el formulario tendríamos que poner un botón para que lo de.

5.- ¿En qué momento quieres guardar el nuevo consecutivo? Tengo un botón que dice agergar, seria al momento de apretar este botón que mande toda la información que tiene el formulario a la hoja 1.

6.- Y por último, a qué te refieres con esto: "tendríamos una condición para definir si asigna el consecutivo de un número u otro" Me refiero a que hay 2 conceptos uno es Literatura y el otro Obsequio, dependiendo de cual se seleccione dará el consecitivo ya que el de obsequio maneja la nomeclatura MX71XXXX y la literatura maneja la MX70XXXXXXXX.

No sé si quieres el archivo para que veas lo que tengo y como se puede adaptar a lo que ue necesito.

Saludos.


El código que te envié prácticamente hace lo que pides, pero si quieres envíame tu archivo y adapto el código.

Hola  Dante:

Ya te mande el archivo, muchas gracias por tu ayuda.

Saludos.

Este es el código para el consecutivo

Private Sub ComboBox1_Change()
'Por.Dante Amor
    Label7 = ""
    If ComboBox1 = "" Then Exit Sub
    Select Case UCase(ComboBox1)
        Case "LITERATURA": conse = "MX71"
        Case "OBSEQUIO":   conse = "MX70"
        Case Else
            MsgBox "Selecciona un tipo válido"
            ComboBox1.SetFocus
            Exit Sub
    End Select
    For i = Hoja1.Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
        If Left(Hoja1.Cells(i, "F"), 4) = conse Then
            num = Mid(Hoja1.Cells(i, "F"), 5) + 1
            Label7 = conse & num
            Exit Sub
        End If
    Next
End Sub
Respuesta

Puedes por favor mandarme el ejemplo a mi correo, no logro hacerlo funionar.

[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas