Autonumerar columna Codigo en excel

Desearía que el valor que se inserta en la columna CODIGO fuera autonumérico.

En cada registro, en cada fila he puesto una numeración incremental (R1, R2, R3 siendo el R3574 E el último y el máximo registro) pero está hecho manualmente al insertar los datos por tanto no me sirve.

Me gustaría que esa columna fuera autonumérica incrementalmente como tú me indicas:

"Y solamente se podría numerar si estables un código homogéneo, por ejemplo:"

R000001

R000002

...

R003575

De esta forma si ordeno por la columna A, el último es el máximo.

-------------------------------------------------------------------------------------------------------------------------------------

Y como dices mejor no tenemos en cuenta mi orden que provoca problemas.

Entiendo entonces que tendrás que crear un autonumérico en la columna CODIGO y que cada vez que añadamos una fila el valor de CODIGO se autogenere tanto si escribo directamente en la hoja como si lo añado en el formulario de AÑADIR.

1 respuesta

Respuesta
1

H o l a:

El código es para incrementar la numeración del registro.

Private Sub UserForm_Activate()
'Por.Dante Amor
    Set h1 = Sheets("TITULOS")
    u = h1.Range("A" & Rows.Count).End(xlUp).Row
    ucol = h1.Cells(1, Columns.Count).End(xlToLeft).Column
    letra = Evaluate("=SUBSTITUTE(ADDRESS(1," & ucol & ",4),""1"","""")")
    With h1.Sort
        .SortFields.Clear: .SortFields.Add Key:=h1.Range("A2:A" & u)
        .SetRange h1.Range("A1:" & letra & u): .Header = xlYes: .Apply
    End With
    reg = Val(Mid(h1.Cells(u, "A"), 2)) + 1
    Label1 = "R" & Format(reg, "000000")
    '
    Set h3 = Sheets("CATALOGOS")
    For i = 2 To h3.Range("A" & Rows.Count).End(xlUp).Row
        ComboBox1.AddItem h3.Cells(i, "A")
    Next
    For i = 2 To h3.Range("B" & Rows.Count).End(xlUp).Row
        ComboBox2.AddItem h3.Cells(i, "B")
    Next
    For i = 2 To h3.Range("C" & Rows.Count).End(xlUp).Row
        ComboBox3.AddItem h3.Cells(i, "C")
    Next
End Sub

Si quieres que funcione cuando lo registras en la hoja, deberás crear otra pregunta.

S a l u d o s

Hola Dante Amor

Cuando intento abrir con el botón AÑADIR el formulario me indica el error '438' en tiempo de ejecución, el objeto no admite esta propiedad o método y me indica como problema la línea en evento useform_activate siguiente:

With h1.Sort

Uso excel 2003, no sé si eso influye...

Ya me comentas cómo podemos arreglarlo. Ya creo otra pregunta para que funcione en la hoja, ok.

Un saludo y gracias por todo

Si, ese es el problema, la versión 2003, voy a buscar el código para ordenar con la versión 2003 y te envío el archivo.

Por cierto ¿es inevitable que la columna Código sea R000001, R000002, etc.?

¿Me dijiste que no podía ser ordenada la columna Código en autonumérico incremental así... R1, R2, etc.? Te lo digo porque creía que los ceros a la izquierda no servían de nada y luego a la hora de buscar un registro por el código me es más cómodo escribir R1 que R000001... pero si me confirmas que son necesarios (y creo que me comentaste que sí) pues no pasa nada.

Ya me cuentas... un saludo

Son necesarios

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas