Hacer variable el rango de selección de celda

Todo sobre la misma macro que me enviaste y que funciona bien pero esta línea

For i = 11 To Range("C" & Rows.Count).End(xlUp).Row

Pareciera entender yo que ¿se refiere a C11? For i = 11 "tiene que ser"  y la razon la tendras porque me dijiste que los datos comiensan en linea 11.

Confírmame

1 Respuesta

Respuesta
1

H o l a:

Para hacer variable la fila de inicio, tomaremos como base el título Fecha que tienes en la columna C.

Entonces buscamos el título Fecha, en la fila en que se encuentre el título empezarán los datos, el código es:

Sub inserta_Lineas()
'Por.Dante Amor
    Application.ScreenUpdating = False
    a = InputBox("Ingrese el Número de Lineas a Insertar", "Número de Lineas", 1) 'si inserta 0 sale de la macro sin insertar linea)
    If a <= 0 Then Exit Sub
    '
    Set b = Columns("C").Find("Fecha", lookat:=xlWhole)
    If Not b Is Nothing Then
        ini = b.Row
        For i = 11 To Range("C" & Rows.Count).End(xlUp).Row
            If Cells(i, "C") = "" Then fila = i: Exit For
        Next
        Rows(fila & ":" & fila + a - 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        Rows(fila - 1).Copy
        Rows(fila & ":" & fila + a - 1).PasteSpecial Paste:=xlPasteFormats
        Range("I" & fila - 1).Copy
        Range("I" & fila & ":I" & fila + a - 1).PasteSpecial Paste:=xlPasteFormulas
        Range("C" & fila).Select
        Application.CutCopyMode = False
    Else
        MsgBox "No se puede insertar la fila, no existe el título ''Fecha''"
    End If
End Sub

sal u dos

Me perdonas DAM pero en el titulo luego de pensado no lo actualice mientras creaba el tema.

Deseaba una respuesta de solamente si es o no

For i = 11 To Range("C" & Rows.Count).End(xlUp).Row

For i = 11 la celda C11. A eso deduci yo que 11 es la referencia a C11 y a partir de C11 es que busca la ultima fila. Algo así es lo que quiero explicar pero lo que me hace mas desentendido creo que la edad.

Por eso digo que no edite el titulo y seguí con el del 1º pensamiento.

Como sea DAM, mañana es sábado, lunes 12, día de la raza, feriado acá, por lo tanto te deseo un buen fin de semana largo, con un buen disfrute y perdoname hacerte escribir nueva macro, no era mi intención, discúlpame

Probé la macro para ver que tal iba y dice Error de compilación Se requiere un objeto

    Set b = Columns("C").Find("Fecha", lookat:=xlWhole)

Y me marca la negrita

¿Tienes option explicit?

Entonces declara b al principio:

Dim b

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas