Agregar columnas a varias tablas hasta la más ancha

Categoría

En una hoja con varias tablas esta macro agrega las columnas necesarias para que todas ellas tengan el mismo número de columnas que la tabla más ancha.

Descripción

Esta macro llamada ColumnasMaximas recorre todas las tablas de una hoja de Excel y ajusta el número de columnas para que todas las tablas tengan el mismo número de columnas que la tabla más ancha. El proceso es el siguiente:

  1. Se define una variable que almacena el número máximo de columnas encontradas en las tablas de la hoja.
  2. Se recorren todas las tablas de la hoja y se verifica cuántas columnas tiene cada una.
  3. Se determina cuál es la tabla con el mayor número de columnas.
  4. Luego, se vuelven a recorrer todas las tablas y, si alguna tiene menos columnas que la tabla más ancha, se agregan columnas hasta que todas tengan el mismo número.

Código

  

Sub ColumnasMaximas()
‘ Se definen las variables
Dim tbl As ListObject
Dim Columnatabla As Integer
Dim MaxColumna As Integer
Dim nuevacol As Integer
‘ Se recorren todas las tablas de la hoja
For Each tbl In ActiveSheet.ListObjects
Columnatabla = tbl.ListColumns.Count ‘ Se guarda el número de columnas de la tabla
‘ Si el número de columnas de la tabla actual es mayor que el máximo de columnas, se actualiza MaxColumna
If Columnatabla > MaxColumna Then MaxColumna = Columnatabla
Next tbl
‘ En este punto, MaxColumna guarda el número de columnas de la tabla más ancha
‘ Se vuelven a recorrer todas las tablas
For Each tbl In ActiveSheet.ListObjects
If tbl.ListColumns.Count < MaxColumna Then
‘ Si el número de columnas de la tabla es menor que el máximo, se agregan las columnas necesarias
For nuevacol = tbl.ListColumns.Count To MaxColumna – 1
tbl.ListColumns.Add
Next nuevacol
End If
Next tbl
End Sub