Saltar al contenido

Insertar Filas en VBA: 6 métodos para escribir fracciones en Excel

insert row 01 manual method Insertar Filas en VBA: 6 métodos para escribir fracciones en Excel
Las filas son las capas de datos horizontales, en blanco o no, en cada tabla. Puede pensar en una hoja de trabajo en MS Excel como una tabla. De guisa similar, en Word, se pueden insertar y usar tablas.

Las filas son una parte esencial de cualquier tabla utilizada en cualquiera de estas aplicaciones host que utilizan VBA. Cuando necesitamos insertar filas en blanco encima o debajo de una fila de datos existente (o una fila en blanco, para el caso), podemos usar el insertar función de conducción adecuado en el menú contextual.

VBA todavía ofrece esta misma función, y demostraré a continuación varios métodos en los que se implementa.

Insertar una fila en una tabla en un documento de Word

Usando índices, primero debemos remitir a la tabla donde se van a insertar las filas. Entonces podemos usar el índice (índice de fila, es aseverar) nuevamente para referirnos a la fila hacia lo alto o debajo de la cual se insertará otra nueva fila.

Por ejemplo, si tenemos una fila hacia lo alto de 4 . hay que insertarmi fila de los 3rd table en un documento de Word, podemos usar el futuro código.

Tables.Item(3).Rows(4).Select
Selection.InsertRowsAbove(1)

Si la fila debe insertarse debajo de otra fila, podemos usar Selection.InsertRowsBelow(1) en espacio de Selection.InsertRowsAbove(1) † El número entre paréntesis indica el número de filas a insertar.

Lea el futuro artículo para obtener más información sobre esto:

VBA, tabla de Word Insertar/Eliminar filas/columnas

Insertar una fila en una hoja de trabajo en MS Excel

Insertar fila manualmente

Si queremos insertar una fila manualmente, simplemente podemos seleccionarla, hacer clic con el brote derecho y preferir el punto de menú «insertar» en el menú contextual. Esta batalla inserta una nueva fila encima de la fila seleccionada. Puede insertar varias filas a la vez resaltando varias filas primero. Luego se le promoverá para que inserte esa cantidad de filas cuando vea el menú contextual.

No hay opción para insertar filas manualmente debajo de la fila seleccionada.

Seleccione Insertar en el menú contextual de Excel

Insertar fila con VBA

Hay muchas maneras de hacer esto usando VBA. Puede usar un código simple para hacer el trabajo por el momento, puede desarrollar un complemento valentísimo que cualquiera puede usar, en cualquier momento si es necesario. Aquí hay algunas formas posibles en que podemos insertar filas en una hoja de trabajo usando el código VBA.

Método 1

Rada la hoja de cálculo en la que se van a insertar las filas. Rada el módulo VBA, escriba el código a continuación y ejecútelo. Se inserta una fila encima del índice de fila que aparece entre paréntesis.

Sub row_insertion_demo()
Rows(2).Insert
End Sub
Sub insert_demo()
Range("2:2").Insert
End Sub

Esto funciona en el Franco hoja de cálculo porque no se ha seleccionado ninguna hoja de cálculo específicamente.

Método 2

El método de inserción utilizado en el ejemplo susodicho (método 1) en efectividad tiene dos parámetros opcionales. Se puede utilizar para insertar filas y columnas.

Sintaxis:

Range.Insert( <shift direction> , < Copy Origin> )

Donde

puede:

  • xlShiftDown o -4121 (para desplazar filas de datos existentes alrededor de debajo)

o

  • xlShiftRight o -4161 (para desplazar columnas de datos existentes alrededor de la derecha)

Y

puede:

  • xlFormatFromLeftOrAbove o 0 (para copiar el formato de una nueva fila de la fila existente hacia lo alto o de la columna existente a la izquierda)

o

  • xlFormatFromRightOrBelow o 1 (para copiar el formato de una nueva fila de la fila existente a continuación o la columna existente a la derecha de la misma)

Aquí hay un ejemplo que usa estos parámetros opcionales para desplazar las filas existentes alrededor de debajo y copiar el formato de datos desde hacia lo alto para la fila recién insertada.

Sub row_insertion_demo()
range("4:4").Insert Shift:=xlShiftDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub

Observación:

Aquí hay un código que puede ayudarlo a preferir la hoja de trabajo requerida y mantenerla activa. Esta ruta de código debe insertarse encima de «insertar código específico» para que funcione.

Sheets("Wonders").Select

Método 3

Inserte filas con el método Worksheet.Rows. Donado que estamos utilizando un objeto de hoja de cálculo en el código, no es necesario suministrar abierta la hoja de cálculo especificada para ejecutar la macro.

Sub insert_demo1()
Worksheets("Wonders").Rows(2).Insert
End Sub

(o)

Para insertar varias filas:

Sub insert_demo1()
Worksheets("Wonders").Rows("2:5").EntireRow.Insert
End Sub

Método 4

Este ejemplo usa el método Worksheet.Range. Esto siquiera requiere que la hoja de trabajo esté activa o abierta.

Sub insert_demo1()
Worksheets("Wonders").range("2:2").Insert
End Sub

(o)

Sub insert_demo1()
' to insert multiple rows
Worksheets("Wonders").range("2:5").EntireRow.Insert
End Sub

Método 5

Este método nuevamente usa una hoja de trabajo y hace relato a las celdas.

Sub insert_demo1()
Worksheets("Wonders").Cells(2, 5).EntireRow.Insert
End Sub

Método 6

Inserte la fila a usando la «celda activa» coetáneo (o) seleccione una celda y haga lo mismo.

Sub insert_demo1()
Cells(3,2).Select
Application.ActiveCell.EntireRow.Insert
End Sub

Programas de muestra

Insertar filas si la segunda columna está vacía

El software asume que si hay datos disponibles en la primera columna y la segunda columna está vacía, entonces es un encabezado y debería suceder una fila vacía inmediatamente. Entonces se inserta una fila vacía.

Lista de postres con números en la segunda columna
Sub row_insertion_demo()

' Get an input on the no of rows to be considered
Rowscount = InputBox(" Enter the number of rows to be checked for ")

    ' loop to iterate through rows
    For i = 1 To Rowscount
    
        ' check if the second column is blank and first column has data ( heading)
        If Sheets("Sheet2").Cells(i, 2).Value = "" And Sheets("Sheet2").Cells(i, 1).Value &amp;lt;&amp;gt; "" Then
            ' Insert a row immediately after that ( + 1 is used since rows will be shifted down )
            Worksheets("Sheet2").range(i + 1 &amp;amp; ":" &amp;amp; i + 1).Insert
            ' Changing to the next row in interation since the same old row should not be referenced again.
            i = i + 1
        End If
    
    Next
End Sub
Se ha insertado una fila vacía en la lista de postres

Insertar algunas filas

En el mismo software susodicho, supongamos que se han anejo recientemente 2 aperitivos y 3 postres al festín de comida. Entonces, las filas deben agregarse con este software. Todas las filas en blanco de la hoja se pueden eliminar antiguamente de ejecutar el futuro código.

Sub row_insertion_demo()

' Get an input on the no of rows to be considered
Rowscount = InputBox(" Enter the number of rows to be checked for ")

    ' loop to iterate through rows
    For i = 1 To Rowscount
    
        ' check if the second column is blank and first column has data ( heading )
        If Sheets("Sheet2").Cells(i, 1).Value = "Starters" Then
            ' Insert 2 rows immediately after that ( + 1 is used since rows will be shifted down )
            Worksheets("Sheet2").range(i + 1 &amp;amp; ":" &amp;amp; i + 2).Insert
            ' Changing to the next row in interation since the same old row should not be referenced again.
            i = i + 1
        ElseIf Sheets("Sheet2").Cells(i, 1).Value = "Desserts" Then
            ' Insert 3 rows immediately after that ( + 1 is used since rows will be shifted down )
            Worksheets("Sheet2").range(i + 1 &amp;amp; ":" &amp;amp; i + 3).Insert
            ' Changing to the next row in iteration since the same old row should not be referenced again.
            i = i + 1
        End If
    
    Next
End Sub

Las filas requeridas ahora se han insertado con éxito.

Filas en blanco adicionales insertadas en la lista de alimentos

Conclusión

Si correctamente puede ser viable insertar filas manualmente, si queremos insertar varias filas en diferentes ubicaciones (números de fila) o según ciertos criterios, como en los programas de ejemplo anteriores, VBA viene al rescate. Si correctamente VBA es muy útil para este propósito, cualquier batalla realizada mediante la ejecución de un código de macro de VBA no se puede deshacer.

Si correctamente la inserción de filas no afecta los datos existentes, puede ser tedioso identificar las filas innecesarias que se han insertado y luego eliminarlas manualmente en diferentes ubicaciones. Oportuno a estos riesgos, su razonamiento debe analizarse detenidamente antiguamente de ejecutarla en un documento importante.

Por ejemplo, el segundo ejemplo ha indicado (i +1) para la inserción y las iteraciones incrementales en las que un novato podría no pensar hasta que encuentre un problema con la operación del código. Por lo tanto, es recomendable ejecutar el código en documentos de muestra o documentos sin importancia en espacio de probar los documentos reales o importantes.