Insertar más de 1 fila con formulasYa comente en artículos anteriores como insertar varias filas en Excel y también les explique como insertar mas de 1 fila o columna en Excel … ¿recuerdan?

El día de hoy vamos a revisar una macro que nos permitirá también insertar mas de 1 fila, con la diferencia de que esta nueva macro además de insertar las celdas nos copiara (en caso de que existan) las formulas contenidas en dichas filas.

Es decir, si en la hoja donde queremos insertar las filas, contiene además celdas formuladas, esta macro nos permitirá que las filas que insertemos ya vengan formuladas también.

Como siempre he comentado, es aconsejable guardar sus macros favoritas dentro del libro PERSONAL.XLS (o PERSONAL.XLSB si es que utilizan Office 2007).

 Ahora bien, lo único que tienen que definir en el código de la macro “insertar mas de 1 fila con formulas es indicarle la columna en la que se encuentra ubicada la primer celda formulada, ubiquen las siguientes líneas de código y cambien el dato marcado en rojo.

Cells(Rows.Count, "B").End(xlUp).Select
'Se agrega esta linea para ir al último dato de la columna B

Aquí les dejo el código VBA que deben copiar dentro del editor de Visual Basic, recuerden que para acceder al editor pueden hacerlo presionando al mismo tiempo las teclas Alt + F11 o bien, mediante el menú Herramientas opción Macros y seleccionan la opción Editor de Visual Basic.

Insertar mas de 1 fila con formulas

‘ Inicia Macro para Insertar mas de 1 Fila con formulas en la celda seleccionada ‘

Dim vRows As Integer 
Sub Agrega_fila_Y_llena_Formulas() 
    Application.ScreenUpdating = False 
   Cells(Rows.Count, "B").End(xlUp).Select 'Se agrega esta linea para ir al último dato de la columna B
    ActiveCell.EntireRow.Select 
    If Application.WorksheetFunction.CountIf(ActiveCell.EntireRow, "<>") = 0 Then Exit Sub 
   If vRows <> 1 Then 
    vRows = Application.InputBox(prompt:= _ 
      "Cuantas filas quiere añadir?", Title:="Agregar Filas", _ 
      Default:="", Type:=1) 
    If vRows = False Then GoTo Salir 
   End If 
   Dim sht As Worksheet, shts() As String, i As Integer 
   ReDim shts(1 To Worksheets.Application.ActiveWorkbook. _ 
       Windows(1).SelectedSheets.Count) 
   i = 0 
   For Each sht In
       Application.ActiveWorkbook.Windows(1).SelectedSheets 
    Sheets(sht.Name).Select 
    i = i + 1 
    shts(i) = sht.Name 
    Selection.Resize(rowsize:=2).Rows(2).EntireRow. _ 
     Resize(rowsize:=vRows).Insert Shift:=xlDown 
    Selection.AutoFill Selection.Resize( _ 
     rowsize:=vRows + 1), xlFillDefault 
    On Error Resume Next 
    Selection.Offset(1).Resize(vRows).EntireRow. _ 
     SpecialCells(xlConstants).ClearContents 
   Next sht 
   Worksheets(shts).Select 
   Application.ScreenUpdating = True 
Salir: 
End Sub

‘ Concluye Macro para Insertar mas de 1 Fila con formulas en la celda seleccionada ‘

Cualquier duda respecto del código de la macro “Insertar mas de 1 fila con formulas” o como aplicarlo en su libro de excel dejen sus comentarios.

José de Jesús Pérez Lara
Sígueme

Acerca del Autor

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *