martes, 12 de julio de 2022

60 - Combinar filas en un rango. Descombinarlas.

Combinar celdas es una de las tareas frecuentes en Excel. Ya sea que realicemos algún formulario o formato donde se deben ubicar diferentes campos en diferentes posiciones dentro del formato.

En el ejemplo, se trata de combinar solo las celdas que abarcan las col D:F de cierto formulario para el registro de Nombres y Apellidos.


La herramienta que utilizamos manualmente sería la de Combinar Celdas del menú Inicio, Alineación.

Con VBA, el método Merge es el que nos combina un rango establecido y Unmerge para descombinarlo.

A continuación diferentes macros para realizar esta tarea, según condiciones:

Ejemplo 1:  combinar celdas de una sola fila.

Sub combina()

[D6:F6].Merge

End Sub


Ejemplo 2: combinar todas las celdas de un rango en una sola. Se conservará solo el texto de la primera celda del rango seleccionado.

Sub combina_1()

Range("D6:F14").Merge

End Sub

Ejemplo 3: dentro de un rango, combinar las celdas de cada fila en un rango independiente. Colocando la expresión Merge en True.

Sub combina_2()

[D6:F14].Merge (True) 

End Sub     


Nota: Podemos mejorar el código centrando cada fila combinada, de este modo:

Sub combina_Filas()

With [D6:F14]

    .Merge (True)                  'combina cada fila del rango en una sola celda.

    .HorizontalAlignment = xlCenter

End With

End Sub


Para descombinarlas, utilizaremos el método UnMerge. La instrucción será la misma para todas las situaciones, indicando el rango a descombinar.

Ejemplo 4:
                        Sub descombina()
                        [D6:F14].UnMerge
                        End Sub


Descargar ejemplo desde aquí.

Ver video N° 60 desde aquí.