Numerar filas no vacías

Buenos días.

Necesito ayuda con una macro que me asigne en la columna A, empezando desde la fila 4, un numero que empiece en 1 y que sea ascendente: 1, 2, 3, 4, siempre que la fila correspondiente contenga datos (siempre que empiece a poner el valor en la primera celda "a" vacía y que en la columna "b" haya datos).

Es decir, si tengo, por ejemplo, datos desde la fila 4 en el rango B4:M20, necesito que en la columna A se pongan los valores 1, 2, 3 ... Hasta 17. Luego, si tengo más fila con datos que añado posteriormente, aunque los números de 1 al 17 de la celda A no estén ordenados por orden ascendente, necesito que empiece a numerar en 18

Tengo una macro que me copia y pega datos en la primera fila vacía desde la columna B hasta la M y necesito que le asigne automáticamente un número ascendente.

Tengo el código

'i = 5
'If Cells(i - 1, 2) <> "" Then Cells(4, 1) = 1
'Do While Cells(i, 2) <> ""
'Cells(i, 1) = Cells(i - 1, 1) + 1
'i = i + 1
'Loop

pero cuando ordeno los datos en función de dos columnas, me sobrescribe los números de la columna A.

Muchas gracias y un saludo.

Añade tu respuesta

Haz clic para o