Ayuda con código vba excel

Hola Dante, me ayudaron con este código, funciona bien para el primer registro, pero después ya sumael código anterior.

Ejemploe:

1) 050101 código correcto

2) 0501'050102' debería sumar solo el correlativo después del 4 dígito de la izquierda. Es decir "050102" que seria el correlativo .

Sub Enumerar_segun_condicion_hoja1()
Dim p As Integer
On Error Resume Next
If Range("B65536").End(xlUp).Value = "" Or Not IsNumeric(Range("B65536").End(xlUp).Value) Then
n = 1
Else
n = Range("B65536").End(xlUp) + 1
End If
Select Case ActiveSheet.Name
Case "Hoja1": h = "05"
Case "Hoja2": h = "06"
End Select
Select Case UserForm1.combobox1
Case "ENERO": p = "01": Case "FEBRERO": p = "02"
Case "MARZO": p = "03": Case "ABRIL": p = "04"
Case "MAYO": p = "05": Case "JUNIO": p = "06"
Case "JULIO": p = "07": Case "AGOSTO": p = "08"
Case "SEPTIEMBRE": p = "09": Case "OCTUBRE": p = "10"
Case "NOVIEMBRE": p = "11": Case "DICIEMBRE": p = "12"
End Select
UserForm1.Label1.Caption = h & p & Format(n, "00")
End Sub

espero me puedan ayudar

Gracias.

1 Respuesta

Respuesta
1

¿El número consecutivo lo guardas en la celda?

En esta macro solamente se pone el nuevo número en el label, ¿pero en algún momento ese número lo pasas a la celda?

Hola Dante, para aclararte que al ejecutar el formulario el label carga el numero correlativo, y al cerrar el formulario el correlativo se guarda en la celda de la columna B una tras otra. ejemplo:

Código Fecha Cuenta Descripción Debe Haber

050101 01/01/13 601 Compras 1451.00

050102 01/01/13 631 Servicios 250.00

050103 ............. ................ ................... .............

Espero me halla explicado mejor

Ahora sí ya entendí mejor.

Cambia esta línea

n = Range("B65536").End(xlUp) + 1

Por esta:

n = val(right(Range("B65536").End(xlUp),2)) + 1

Lo que hace es tomar los 2 caracteres del lado derecho y les suma 1, la limitante de tu correlativo es que solamente va a llegar a 99, si quieres ampliarlo a 999 tienes que cambiar a 3, y si es de 9999, lo cambias a 4.

Saludos. Dante Amor
No olvides finalizar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas