Números enteros secuenciales vba excel

Tengo este código para generar una secuencia de números en la columna "A", pero no sé cómo hacer para que no se pase de la última fila con datos de la columna "C", lo que intento realizar es que termine la secuencia de números hasta la última celda con datos de la columna "C"

Dim fin As Long, i As Long, MiRango As Variant

ultima_fila = Worksheets("RESUMEN").Range("c" & Rows.Count).End(xlUp).Row

ReDim MiRango(1 To ultima_fila)

For i = 1 To ultima_fila:
MiRango(i) = i
Next i

'pasamos la serie a la hoja transponiendo los datos en vertical.
Range("A9").Resize(ultima_fila, 1).value = Application.Transpose(MiRango)

Ya llegó rato intentando como realizar esto😔😔

2 Respuestas

Respuesta

Puede ser de estas maneras:

Sub consecutivo()
  Dim i As Long
  For i = 9 To Range("C" & Rows.Count).End(3).Row
    Range("A" & i).Value = i - 8
  Next
End Sub

Sin ciclo:

Sub consecutivo_sin_ciclo()
  Range("A9").Value = 1
  Range("A9:A" & Range("C" & Rows.Count).End(3).Row).DataSeries 2, xlDataSeriesLinear, 1, 1
End Sub
Respuesta

Yo verificaría el valor de la celda de la columna C a cada paso. Algo así como:

Private Sub Numerar()
    Dim iFila As Integer
    iFila = 1
    While Worksheets("RESUMEN").Range("C" & iFila).Value <> ""
        Worksheets("RESUMEN").Range("A" & iFila).Value = iFila
        iFila = iFila + 1
    Wend
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas