VBA Insertar fila o columna

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on febrero 18, 2022

Este tutorial demostrará cómo usar VBA para insertar filas y columnas en Excel.

Para insertar filas o columnas utilizaremos el método de inserción.

Insertar una sola fila o columna

Insertar una nueva fila

Para insertar una sola fila, puedes utilizar el objeto Rows:

Rows(4).Insert

O puedes utilizar el Objeto Range junto con EntireRow:

Range("B4").EntireRow.Insert

Insertar una nueva columna

De forma similar a la inserción de filas, podemos utilizar el Objeto Columns para insertar una columna:

Columns(4).Insert

O el Objeto Range, junto con EntireColumn:

Range("B4").EntireColumn.Insert

Insertar Varias Filas o Columnas

Insertar varias filas

Al insertar múltiples filas con el objeto Rows, debes introducir las filas entre comillas:

Rows("4:6").Insert

La inserción de varias filas con el Objeto Range funciona igual que con una sola fila:

Range("B4:B6").EntireRow.Insert

Insertar varias columnas

Al insertar varias columnas con el Objeto Columns, introduzca las letras de las columnas entre comillas:

Columns("B:D").Insert

La inserción de múltiples columnas con el Objeto Range funciona igual que con una sola columna:

Range("B4:B4").EntireColumn.Insert

Insertar – Desplazamiento y Copiar Origen

El método Insert tiene dos argumentos opcionales:

  • Shift – En qué dirección desplazar las celdas
  • CopyOrigin – Qué formato de celda copiar (arriba, abajo, izquierda o derecha)

El argumento Shift es irrelevante cuando se insertan filas o columnas enteras. Sólo permite indicar que se desplace hacia abajo o hacia la derecha:

  • xlShiftDown – Desplaza las celdas hacia abajo
  • xlShiftToRight – Desplaza las celdas hacia la derecha

Como puede ver, no puede desplazarse hacia arriba o hacia la izquierda.

El argumento CopyOrigin tiene dos entradas potenciales:

  • xlFormatFromLeftorAbove – (0) Las celdas recién insertadas toman el formato de las celdas de arriba o de la izquierda
  • xlFormatFromRightorBelow – (1) Las celdas recién insertadas toman el formato de las celdas de abajo o de la derecha.

Veamos algunos ejemplos del argumento CopyOrigin. Aquí están nuestros datos iniciales:

vba insertar fila

Este ejemplo insertará una fila, tomando el formato de la fila anterior.

Rows(5).Insert , xlFormatFromLeftOrAbove

 

Este ejemplo insertará una fila, tomando el formato de la fila de abajo.

Rows(5).Insert , xlFormatFromRightOrBelow

 

vba insertar fila abajo

Otros ejemplos de inserción

Insertar filas o columnas copiadas

Si desea insertar una fila copiada, deberá utilizar un código como el siguiente

Range("1:1").Copy
Range("5:5").Insert

Aquí copiamos la fila 1 y la insertamos en la fila 5.

Insertar Filas Basadas en el Valor de la Celda

Esto hará un bucle a través de un rango, insertando filas basadas en los valores de las celdas:

Sub InsertRowswithSpecificValue()
Dim cell As Range
For Each cell In Range("B2:B20")
    If cell.Value = "insert" Then
        cell.EntireRow.Insert
    End If
Next cell
End Sub

Borrar filas o columnas

Para eliminar filas o columnas, basta con utilizar el método Delete.

Rows(1).Delete
 
Range("a1").EntireRow.Delete
 
Columns(1).Delete
 
Range("a1").EntireColumn.Delete
vba-free-addin

Complemento de Ejemplos de Código de VBA

Acceda fácilmente a todos los ejemplos de código que se encuentran en nuestro sitio.

Simplemente navegue al menú, haga clic y el código se insertará directamente en su módulo. Complemento .xlam.

(¡No se requiere instalación!)

Descarga gratuita

Return to VBA Code Examples