Insertar mas de 1 fila con formulas

ExcelYa comente en articulos anteriores como insertar varias filas en Excel y tambien les explique como insertar mas de 1 columna o fila en Excel … ¿recuerdan?

El dia de hoy vamos a revisar una macro que nos permitira tambien insertar filas  tal como la anterior, con la diferencia de que esta nueva macro ademas 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 flas ilas, contiene ademas celdas formuladas, esta macro nos permitira que las filas que insertemos ya vengan formuladas tambien.

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 unico que tienen que definir en el codigo de la macro es indicarle la columna en la que se encuentra ubicada la primer celda formulada, ubiquen las siguientes lineas del codigo 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

Aqui les dejo el codigo 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 menu Herramientas opcion Macros y seleccionan la opcion Editor de Visual Basic.

‘ Inicia Macro para Insertar Filas 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

Cualquier duda respecto del codigo de la macro o como aplicarlo en su libro de excel dejen sus comentarios.

Related Posts Plugin for WordPress, Blogger...

2 Responses to “Insertar mas de 1 fila con formulas”
  1. Albanyc says:
  2. Rev16161 says:
Optimization WordPress Plugins & Solutions by W3 EDGE