martes, 6 de agosto de 2019

VBA: Añadir y eliminar columnas en una tabla

Aprenderemos hoy a añadir o eliminar columnas de nuestras tablas con algo de programación.

VBA: Añadir y eliminar columnas en una tabla



Se trata de conseguir con el método .Add o .Delete del objeto ListObjects insertar columnas en posiciones concretas, dentro de la tabla, o bien añadir nuevos campos al final/derecha de la tabla...
Como se ve en la imagen anterior.


Para ello insertamos en la ventana de código de un módulo estándar el siguiente código:

Sub InsertarCamposenTabla_1()
'ejemplo 1
Dim ws As Worksheet
Dim tbl As ListObject

Set ws = ActiveSheet
Set tbl = ws.ListObjects("Tabla1")
'añadimos nueva columna en la segunda columna/campo
'i.e., una posición en concreto.
tbl.ListColumns.Add(2).Name = "EXCEL"
'añadimos una nueva columna/campo al final de la tabla
tbl.ListColumns.Add.Name = "Campo Nuevo"

'libera memoria
Set ws = Nothing
Set tbl = Nothing
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub InsertarCamposenTabla_2()
'ejemplo 2
Dim ws As Worksheet
Dim tbl As ListObject

Set ws = ActiveSheet
Set tbl = ws.ListObjects("Tabla1")

Dim UltCol As Integer
UltCol = tbl.Range.Columns.Count + 1
'añadimos una nueva columna...
tbl.ListColumns.Add(UltCol).Name = "excelforo"
'y eliminamos la tercera columna
tbl.ListColumns(3).Delete
'o eliminamos por Nombre del campo...
tbl.ListColumns("Columna3").Delete

'libera memoria
Set ws = Nothing
Set tbl = Nothing
End Sub



Además, aprovechamos la propiedad .Name para asignar nombre al nuevo campo/columna.

Con .Delete, como comprobamos en la segunda macro, eliminamos una de las columnas en particular indicando su posición dentro de la tabla, o también indicando el nombre exacto del campo.


Estas son algunas de las formas frecuentes de añadir o eliminar columnas, con macros, en nuestras tablas.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.