Fusionar celdas en Excel es útil cuando se desea combinar varias celdas en una más grande. Puede utilizarse para poner títulos, organizar datos o dar formato al aspecto de la hoja de cálculo..
Excel VBA es un lenguaje de programación utilizado para automatizar tareas en Microsoft Excel. Una tarea que se realiza a menudo en Excel es combinar celdas, para unir varias celdas en una celda grande. Combinar celdas puede ser útil para crear encabezados, tablas o formatos de datos específicos.
Hay varias formas de combinar celdas utilizando Excel VBA, a saber:
- Utilice la propiedad «Merge» del objeto «Range«.
- Utilice el método «MergeCells» del objeto «Range«.
- Utilice el método «MergeArea» del objeto «Range».
- Utilice el método «UnMerge» del objeto «Range« para unir celdas.
Este artículo cubrirá estos métodos en detalle, junto con ejemplos de código y resultados. También vamos a discutir algunas cosas a tener en cuenta al combinar celdas utilizando Excel VBA.
Otros artículos interesantes
Utilización de la propiedad «Merge» de un objeto «Range».
La propiedad «Merge» del objeto «Range« se utiliza para establecer o devolver un valor booleano, que indica si un rango de celdas está combinado o no. Un valor de «True« significa que un rango de celdas se combina, mientras que un valor False significa que un rango de celdas no se combina.
Para combinar celdas utilizando la propiedad «Merge», podemos asignar valores «True« a esas propiedades para el rango de celdas que queremos combinar. El siguiente ejemplo de código muestra cómo combinar las celdas A1 a C3 utilizando la propiedad Combinar.
Sub MergeCellsUsingMergeProperty() 'Combining cells A1 to C3 Range( “A1:C3” ). Merge = True End Sub
Podemos ver que las celdas A1 a C3 se han fusionado en una celda grande, y el valor de la celda A1 sigue apareciendo en el centro de la celda fusionada.
Para unir las celdas mediante la propiedad «Merge», podemos asignar un valor «False« a dicha propiedad para el rango de celdas que deseamos dividir. El siguiente ejemplo de código muestra cómo unir las celdas A1 a C3 utilizando la propiedad «Merge«.
Sub UnMergeCellsUsingMergeProperty() 'Unmerge cells A1 through C3 Range( “A1:C3” ). Merge = False End Sub
Podemos ver que las celdas A1 a C3 se han separado en celdas individuales, y el valor de la celda A1 sigue mostrándose en la celda A1.
Utilización del método «MergeCells» del objeto «Range».
El método «MergeCells» de los objetos «Range« se utiliza para combinar o separar los rangos de celdas seleccionados. Este método no tiene argumentos y sólo funciona en el rango de celdas seleccionado por el usuario.
Para combinar celdas utilizando el método «MergeCells», podemos seleccionar el rango de celdas que deseamos combinar y, a continuación, ejecutar el método. El siguiente ejemplo de código muestra cómo combinar las celdas D1 a F3 utilizando el método «MergeCells«.
Sub MergeCellsUsingMergeCellsMethod() 'Select cells D1 through F3 Range( “D1:F3” ). Select 'Merge selected cells Selection.MergeCells End Sub
Podemos ver que las celdas D1 a F3 se han fusionado en una celda grande, y el valor de la celda D1 sigue apareciendo en el centro de la celda fusionada.
Para desagrupar celdas utilizando el método «MergeCells», podemos seleccionar el rango de celdas que queremos dividir y, a continuación, ejecutar el método. El siguiente ejemplo de código muestra cómo desagregar las celdas D1 a F3 utilizando el método «MergeCells«.
Sub UnMergeCellsUsingMergeCellsMethod() 'Select cells D1 through F3 Range( “D1:F3” ). Select 'Unmerge selected cells Selection.MergeCells End Sub
Podemos ver que las celdas D1 a F3 se han separado en celdas individuales, y el valor de la celda D1 sigue mostrándose en la celda D1.
Utilización del método «MergeArea» del objeto «Range».
El método «MergeArea» del objeto «Range« se utiliza para devolver un objeto «Range« que representa un rango de celdas combinadas que contiene una celda específica. Este método no tiene argumentos y sólo funciona en celdas que ya están combinadas con otras celdas.
Para combinar celdas utilizando el método «MergeArea», podemos utilizar primero la propiedad «Combinar» o el método «CombinarCeldas» para combinar el rango de celdas deseado y, a continuación, utilizar el método «CombinarÁrea» para hacer referencia al rango de celdas combinado. El siguiente ejemplo de código muestra cómo combinar las celdas G1 a I3 utilizando la propiedad «Combinar» y, a continuación, utilizar el método «CombinarÁrea» para hacer referencia a ese rango de celdas combinadas.
Sub MergeCellsUsingMergeAreaMethod() 'Combining cells G1 to I3 Range( “G1:I3” ). Merge = True 'Refers to a range of merged cells containing G2 cells Range( “G2” ). MergeArea.Select End Sub
Podemos ver que las celdas G1 a I3 se han fusionado en una celda grande, y el valor de la celda G1 sigue mostrándose en el centro de la celda fusionada. También podemos ver que el rango de celdas combinadas ha sido seleccionado por nuestro código, utilizando el método «MergeArea» para referirse al rango de celdas combinadas que contiene la celda G2.
Para desagrupar celdas utilizando el método «MergeArea», podemos utilizar la propiedad «Merge» o el método «MergeCells» primero para desagrupar el rango de celdas deseado y, a continuación, utilizar el método «MergeArea» para hacer referencia a ese rango de celdas individuales. El siguiente ejemplo de código muestra cómo unir las celdas G1 a I3 utilizando la propiedad «Combinar» y, a continuación, utilizar el método «CombinarÁrea» para hacer referencia a ese rango de celdas individuales.
Sub UnMergeCellsUsingMergeAreaMethod() 'Unmerge cells G1 to I3 Range( “G1:I3” ). Merge = False 'Refers to the range of individual cells containing G2 cells Range( “G2” ). MergeArea.Select End Sub
Podemos ver que las celdas G1 a I3 han sido separadas en celdas individuales, y el valor de la celda G1 permanece mostrado en la celda G1. También podemos ver que el rango de esas celdas individuales ha sido seleccionado por nuestro código, utilizando el método MergeArea para referirse al rango de celdas individuales que contienen la celda G2.
Using the UnMerge Method of an Object «Range»
El método «UnMerge» del objeto «Range« se utiliza para deshacer la fusión de todas las celdas combinadas de un rango de celdas. Este método no tiene argumentos y sólo funciona en rangos de celdas que contengan al menos una celda combinada.
Para desunir celdas utilizando el método «UnMerge», podemos ejecutar el método para el rango de celdas que queremos dividir. El siguiente ejemplo de código muestra cómo descompilar todas las celdas combinadas de una hoja de cálculo activa mediante el método «UnMerge«.
Sub UnMergeCellsUsingUnMergeMethod() 'Unmerge all merged cells in the active worksheet ActiveSheet.Cells.UnMerge End Sub
Podemos ver que todas las celdas combinadas de la hoja de cálculo activa se han separado en celdas individuales, y los valores de esas celdas siguen mostrándose en sus ubicaciones originales.
Cosas a tener en cuenta al combinar celdas utilizando Excel VBA
Cuando combinamos celdas utilizando Excel VBA, hay algunas cosas a las que debemos prestar atención, a saber:
- Sólo los valores de la celda superior izquierda se mostrarán en la celda combinada. Los valores de otras celdas combinadas se perderán. Por lo tanto, es mejor que nos aseguremos de que el valor que queremos mostrar está en la celda superior izquierda antes de combinar celdas.
- La fusión de celdas puede afectar al formato y disposición de nuestros datos. Por ejemplo, si combinamos varias columnas, la anchura de la columna se ajustará a la anchura de la columna más ancha. Si combinamos varias filas, la altura de la fila se ajustará a la altura de la fila más alta. Si combinamos varias celdas que contienen fórmulas, éstas se eliminarán y sólo se mostrarán los valores resultantes. Por lo tanto, deberíamos examinar el impacto de combinar celdas en nuestros datos antes de hacerlo.
- La fusión de celdas puede provocar errores de referencia si utilizamos un rango de celdas fusionadas como argumentos o criterios en funciones de Excel. Por ejemplo, si utilizamos la función «SUMIF» para sumar los valores de un rango basándonos en un criterio, y el rango de criterios contiene celdas combinadas, el resultado será incorrecto o no válido. Por lo tanto, es mejor evitar el uso de funciones de Excel que se basan en referencias de rango al combinar celdas.
Por lo tanto el artículo sobre cómo combinar celdas utilizando Excel VBA. Espero que este artículo es útil y puede ayudarle en la automatización de sus tareas en Excel. Gracias por leer este artículo hasta el final.