Macro para rellenar una columna hasta el ultimo registro de otra columna

Para Dante Amor

Buena tarde necesito una macro que rellene una columna, pero basándose en otra columna ejemplo:

En la imagen la columna "A" necesita tener una serie del 1 hasta "N" cantidad de registros pero no se como realizar la macro, anteriormente me pasaste una macro Dante pero solo rellena hasta la fila 28 .

Cabe mencionar que puede tener más saltos de página ose tener más espacios en blanco.

Sub Ordena(Control As IRibbonControl)
    Application.ScreenUpdating = False
    Rows(1).Delete Shift:=xlUp
    Range("A2") = 1
    u = Range("A" & Rows.Count).End(xlUp).Row
    If u > 2 Then Range("A2").AutoFill Destination:=Range("A2:A" & u), Type:=xlFillSeries
End Sub

2 respuestas

Respuesta
2

Si quieres el consecutivo en toda la columna A sin importar las celdas vacías en la columna B, utiliza esto:

Sub Ordena()
'Sub Ordena(Control As IRibbonControl)
    Application.ScreenUpdating = False
    Rows(1).Delete Shift:=xlUp
    Range("A2") = 1
    u = Range("B" & Rows.Count).End(xlUp).Row
   If u > 2 Then Range("A2").AutoFill Destination:=Range("A2:A" & u), Type:=xlFillSeries
End Sub

Si no quieres numerar las filas con vacío en la columna B, entonces utiliza esto:

Sub Ordena2()
'Sub Ordena(Control As IRibbonControl)
    Application.ScreenUpdating = False
    Rows(1).Delete Shift:=xlUp
    u = Range("B" & Rows.Count).End(xlUp).Row
    n = 1
    For i = 2 To u
        If Cells(i, "B") <> "" Then
            Cells(i, "A") = n
            n = n + 1
        Else
            Cells(i, "A") = ""
        End If
    Next
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

¡Gracias! Dante Amor como siempre tu respuesta funciona perfecto. 

Respuesta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas