Como hacer cíclica la siguiente macro

Sub Filas()

    Dim CurrentSheet As Object

    ' Inserta en las hojas seleccionadas.

    For Each CurrentSheet In ActiveWindow.SelectedSheets

        ' Inserta 20 filas.

        CurrentSheet.Range("a58:a77").EntireRow.Insert

    Next CurrentSheet

    ' Incrementa la numeracion de la columna A

    For i = 1 To 20

        Cells(57 + i, 1).Value = Cells(56 + i, 1).Value + 1

    Next i

    ' Incrementa la numeracion de la columna H

    For j = 1 To 20

        Cells(57 + j, 8).Value = Cells(56 + j, 8).Value + 1

    Next j

    For k = 1 To 20

    'Copia las formulas del promedio

        Cells(57 + k, 7) = "=SUM(D" & 57 + k & ":F" & 57 + k & ")/3 "

'Copia el promedio y asigna #N/A a la celda en caso de que el valor sea "0" o un Blanco

    'Para que en la grafica estos valores no se grafiquen

        Cells(57 + k, 11) = "=IF(OR(G" & 57 + k & " =" & Chr$(34) & Chr$(34) & ", G" & 57 + k & "=0),NA(),G" & 57 + k & ")"

    Next k

End Sub

1 Respuesta

Respuesta
1

¿A qué te refieres con cíclica?

Veo que la macro ya tienes varios ciclos.

¿Qué es lo que le hace falta o que otra cosa necesitas que haga la macro?

Cuando ejecuto la macro se insertan 20 filas con sus respectivas fórmulas, las filas que se insertan van de la fila 58 a la 77 numeradas en la columna “A” el consecutivo del número 41 al 60 ; lo que necesito es que al ejecutarla nuevamente se inserten las siguientes 20 filas, es decir de la fila 78 a la 97 y en la columna “A” del número 61 al 80 con sus respectivas fórmulas y así sucesivamente cada que ejecute la macro.

Gracia por el tiempo empleado en responder!

¿Cuándo se insertan las filas de la 58 a la 77 queda algo debajo de esas filas?

¿O solamente hay celdas en blanco?

No hay nada, como dices solo celdas en blanco

Gracias!

Te anexo la macro actualizada, cambia tu macro por lo siguiente:

Sub Filas2()
'Act.Por.Dante Amor
    u = Range("A" & Rows.Count).End(xlUp).Row
    For i = 1 To 20
        Cells(u + i, "A").Value = Cells(u - 1 + i, "A").Value + 1
        Cells(u + i, "H").Value = Cells(u - 1 + i, "H").Value + 1
        Cells(u + i, "G") = "=SUM(D" & u + i & ":F" & u + i & ")/3 "
        Cells(u + i, "K") = "=IF(OR(G" & u + i & "="""", G" & u + i & "=0),NA(),G" & u + i & ")"
    Next
End Sub

Saludos.Dante Amor

Recuerda valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas