Cómo fusionar celdas en excel usando código vba

En VBA, existe un método «FUSIONAR» que puede utilizar para fusionar un rango de celdas o incluso varios rangos en uno. Este método tiene un argumento «Across» que es opcional. Si especifica VERDADERO, fusionará cada fila del rango por separado, y si especifica FALSO, fusionará todo el rango en uno.

fusionar y desagrupar celdas usando vba

Pasos para usar VBA para fusionar celdas:

  1. Primero, debe definir el rango de celdas que desea fusionar.
    define-the-range-of-a-cell-want-to-merge
  2. Después de eso, escriba un punto (.) para obtener la lista de propiedades y métodos y seleccione «Fusionar» de esa lista o puede escribirlo directamente.
    type-a-dot-to-get-the-list-of-properties
  3. Después de eso, debe establecer el argumento «A través» en VERDADERO o FALSO.
    define-the-argument-across
  4. Al final, ejecute este código para fusionar el rango.

Aquí está el código.

 Range("A1:A2").Merge False

Y si desea fusionar filas en todo el rango, puede usar VERDADERO para el argumento transversal.

escriba verdadero si desea fusionarse en el rango
 Selection.Merge Across:=True

En el código anterior, ha seleccionado como rango, método de combinación y ancho como verdadero. Y fusionó todas las filas en el rango seleccionado.

Ahora digamos que desea fusionar el rango de celdas de otra hoja de trabajo, no necesita habilitarlo primero. Simplemente puede consultar la hoja de cálculo primero y luego usar los métodos de combinación con el renego que desea fusionar.

 Worksheets("Sheet1").Range("A1:A2").Merge

De manera similar, también puede hacer referencia a un libro de trabajo especificando el nombre del libro de trabajo.

 Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("A1:A2").Merge

Fusionar un rango y alinear el contenido de las celdas

Ahora, cuando combinas dos o más celdas, necesitas alinear el contenido que tienes en la celda. Mire la instantánea a continuación donde fusionó las celdas A1 y A2 y el valor en las celdas está alineado hacia abajo. Para resolver este problema, puede utilizar la propiedad de alineación y alinear el contenido de la celda en el centro y en el medio para que le resulte fácil de leer.

fusionar un rango y alinear el contenido de la celda
 With Range("A1:A2") .Merge .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With

Combina texto y luego fusiona

Hablemos de un escenario de la vida real. Tienes texto en un rango de celdas y necesitas fusionar esas celdas, pero no quieres perder el contenido que tienes. Bueno, puedes escribir un bucle de código en todo el rango usando cada uno y combinar texto y luego agregarlo al rango combinado al final.

combinar-probar-y-fusionar
  1. En la primera parte, tiene variables que puede utilizar para almacenar valores de rango y configurarse.
  2. En la segunda parte tienes un LOOP para combinar los valores de cada celda para crear una nueva cadena con eso.
  3. En la tercera parte, combine el rango, agregue la cadena combinada, aplique ajuste de palabras y alinee el contenido de la celda.

Aquí está el código completo.

 Sub vba_merge_with_values() Dim val As String Dim rng As Range Set rng = Range("A1:A10") For Each Cell In rng val = val & " " & Cell.Value Next Cell With rng .Merge .Value = Trim(val) .WrapText = True .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With End Sub

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *