INSERTAR FILA después de la ultima con datos

Necesito una macro que detecte del rango "A17:C34" de una hoja determinada cual es la ultima que tiene datos y que dependiendo del valor de otra celda (positivo o negativo ) inserte dos posibles filas .

1 respuesta

Respuesta
1

No explicas bien que es lo que necesitas, ¿a qué celda te refieres?, ¿Las filas insertas son copias o no?, así que te paso este ejemplo

Sub insertar_filas()
Set datos = Range("a17:c34")
With datos
    f = .Rows.Count
    .Rows(f).Resize(2).EntireRow.Insert
End With
End Sub

Efectivamente son copias de dos filas de otra hoja, que según el valor positivo o negativo de una fórmula, seleccionará una fila u otra, ejemp. Hoja 2 columna 3 fila 10 valor de la fórmula, fila 12 : fila a copiar si positivo, fila 13 fila a copiar si negativo.

Gracias

Este es un ejemplo de lo que entiendo quieres, la macro contara en la hoja 1 las filas comprendidas en un rango que inicia en la celda c17 de la hoja 1, leerá el valor de la fórmula ubicada en la hoja2 celda c10, si el valor es mayor o igual a 0 entonces copiara la fila 12 una fila después de la ultima que contiene datos en caso de ser menor a 0 copiara la fila 13

Sub copiar_fila()
Set h1 = Worksheets("hoja1")
Set h2 = Worksheets("hoja2")
Set datos = h1.Range("c17").CurrentRegion
With datos
    f = .Rows.Count:   valor_formula = h2.Range("c10")
    If valor_formula >= 0 Then
        .Rows(f + 1).Value = h2.Rows(12).Value
    Else
        .Rows(f + 1).Value = h2.Rows(13).Value
    End If
End With
End Sub

Buenas, cumple perfectamente la elección de positivo o negativo y lo copia en la hoja1, pero fuera del rango del rango de las filas b17..b34 .

Debe de insertarla inmediatamente después de la ultima fila que tiene datos(dentro del rango de las filas b17..b34 de la hoja1).

Gracias 

La macro que te pase tiene esta peculiaridad es dinamica esto quiere decir que si tienes 1 fila, colocara el resultado abajo de la fila 1, si tienes 34 filas como es tu caso, lo colocara en la fila 35, si quieres borra la fila 34 y prueba, ¿pregunta si tienes todo el rango lleno donde quieres que lo coloque?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas