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.
Agregar columnas a varias tablas hasta la más ancha
Categoría
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:
- Se define una variable que almacena el número máximo de columnas encontradas en las tablas de la hoja.
- Se recorren todas las tablas de la hoja y se verifica cuántas columnas tiene cada una.
- Se determina cuál es la tabla con el mayor número de columnas.
- 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
Otras funciones de la categoría
- Validar una celda basada en una lista de otra hoja de cálculo.
- Combinar celdas por fila entre columnas
- Lista de una cadena de AAAA hasta DDDD
- Ordenar de forma alfanumérica
- Contar las palabras en un área establecida
- Guardar hojas de cálculo como otro archivo sin código VBA o objetos de botón
- Lista de doble CellInputs
- Ordenar filas activadas y desactivadas
- Usar dos formularios para ingresar
- Insertar fila con encabezado en el nuevo incremento de 1000 de los números enumerados