Numeración sucesiva en columna A Excel

La idea es la siguiente:
Una base tengo en una hoja. En la columna A una numeración que puede ir el 00000001 hasta 00050000

Un formulario en el cual tengo una macro con un botón "Eliminar". En el form por medio de un ComboBox selecciono el proveedor 00000002 y por medio del botón Eliminar acciono el evento Private Sub btnElimi2_Click() desde la cual llamo la macro Numerar y elimino el Proveedor numerado en A3 00000002, no me coloca la numeración sucesiva porque elimine una de las 2 A2 o A3 que hacen falta para que proceda exitosamente la macro Numerar si elimino de la A4 (00000003) hacia adelante, si me coloca la numeración sucesiva (seguido (continuo))

Esta la macro que me sale de la grabadora

Sub Macro1()
' Macro1 Macro
Range("A2:A3").Select
Selection.AutoFill Destination:=Range("A2:A5"), Type:=xlFillDefault
Range("A2:A5").Select
End Sub

Esta la macro compuesta, le agregue lo de negrita .End(xlDown))

Sub Numerar()
Range("A2:A3").Select
Selection.AutoFill Destination:=Range("A2", Range("A2").End(xlDown)), Type:=xlFillDefault
Range("A1").Select
End Sub

Mi solicitud es poder eliminar cuando lo necesite, la A2 o A3 y que me coloque la numeración sucesiva (seguida (continua)).

La macro Numerar está en que primero selecciona las 2 celdas A2 y A3 y haciendo esto al eliminar una de las 2 no funciona porque elimine precisamente una de las necesarias para el evento Numerar. ¿Una solución por favor?

Parece haber una solución aquí Aqui parece haber información pero no se aplicarla para que funcione

Gracias

http://excelgali.mejorforo.net/t1777-numeracion-en-a-sucesiva#8592

1 Respuesta

Respuesta
1

Utiliza lo siguiente para empezar con el número en la celda A2:

Sub Macro1()
'Por.DAM
    Range("A2") = 1
    Range("A3") = 2
    u = Range("A" & Rows.Count).End(xlUp).Row
    If u > 3 Then
        Range("A2:A3").AutoFill Destination:=Range("A2:A" & u), Type:=xlFillDefault
    End If
End Sub

Hola Dam, ¿cómo te ha ido amigo?

Fíjate Dam que tenia (tengo) esto

Sub Macro1()
On Error Resume Next 'evita el error al eliminar la 00000002 o la 00000001 y luego la otra.
Range("A2").value = 1
Range("A3").value = 2
Range("A2:A3").Select
Selection.AutoFill Destination:=Range("A2", Range("A2").End(xlDown)), Type:=xlFillDefault
Range("A1").Select
End Sub

Hace lo propio que la que me acabas de regalar

Si sigues eliminando hasta limpiar toda la hoja menos los títulos en A1, en la columna A en A2 y A3 siempre existirá; A2 00000001 y en A3 00000002, aunque a partir de B hasta POR o infinito nada exista.

No importaría, solo que siempre tienen que existir en la hoja, A2 y A3 2 proveedores ficticios.

Por otro lado, soponiendo que existen SOLO en A2 y A3 los números 00000001 y 00000002, las demás columnas están vacías (menos la línea 1 que son los títulos)

Al comenzar a agregar un nuevo Proveedor (teniendo SOLO en A2 y A3 los 2 ficticios) entra el primer proveedor verdadero a B2 y en A2 00000001 en A3 00000002 y en A4 00000003, esta bien pero queda en la columna A en A3 00000002 y A4 con 00000003 SIN proveedor. No se si preferirías que te enviara un libro ejemplo

Fíjate dam que propbe eliminar manualmente los números que te menciono en A2 y A3, queda la hoja SOLAMENTE con los títulos pero al ingresar nuevo Proveedor las cajas de la pestaña Item y Ultimo Registro, nada tiene para orientarles a ingresar el numero actual y siguiente, ¿entonces? Pareciera que tengo que dejarlo con los 2 números en columna A para Proveedores ficticios.

Aquí deje un ejemplo

h**p://www.filebig.net/files/gxdpj6dWuS

Hola DAM, estaba esperand oque me dijera salgo sobre mi comentario ultimo para luego calificar

Así

Sub Macro1()
'Por.DAM
    u = Range("B" & Rows.Count).End(xlUp).Row
    If Range("B2") <> "" Then Range("A2") = 1
    If Range("B3") <> "" Then Range("A3") = 2
    If u > 3 Then
        Range("A2:A3").AutoFill Destination:=Range("A2:A" & u), Type:=xlFillDefault
    End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas