VBA – Centrar Texto – Alineación de Celdas (Horizontal y Vertical)

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on abril 5, 2022

Este tutorial demostrará cómo usar VBA para centrar texto en celdas tanto horizontal como verticalmente.

Podemos utilizar el grupo Alineación en la cinta de opciones de inicio en Excel para centrar el texto tanto horizontal como verticalmente en una celda. Si estamos escribiendo una macro para dar formato al texto, podemos recrear esta funcionalidad utilizando código VBA.

Centrar texto horizontalmente

Para centrar el texto horizontalmente en una sola celda, podemos utilizar el siguiente código:

Sub CentrarTexto()
   ActiveCell.HorizontalAlignment = xlCenter
End Sub

Alternativamente, para centrar el texto horizontalmente en cada celda de un rango de celdas seleccionado, podemos utilizar el objeto Selección y hacer lo siguiente

Sub CentrarTexto()
   Selection.HorizontalAlignment = xlCenter
End Sub

También podemos cambiar la alineación a la derecha o a la izquierda utilizando las constantes xlLeft y xlRight.

Para alinear a la derecha el texto de una celda, podemos por tanto utilizar el siguiente código:

Sub Alinear_Texto_a_la_Derecha()
   ActiveCell.HorizontalAlignment = xlRight
End Sub

Centrar el texto verticalmente

Centrar el texto verticalmente es muy parecido a hacerlo horizontalmente.

Sub CentrarTextoVerticalmente()
   ActiveCell.VerticalAlignment = xlCenter
End Sub

Al igual que centrar el texto verticalmente a través de una selección:

Sub CentrarTextoVerticalmente()
   Selection.VerticalAlignment = xlCenter
End Sub

También podemos cambiar el texto a la parte superior o inferior de una celda o selección utilizando las constantes xlTop o xlBottom.

Sub Alinear_Arriba()
   ActiveCell.VerticalAlignment = xlTop
End Sub

Centrar el texto horizontal y verticalmente al mismo tiempo

Si queremos centrar el texto horizontal y verticalmente al mismo tiempo, hay un par de maneras de hacerlo.

Sub CentrarAmbos()
 ActiveCell.HorizontalAlignment = xlCenter
 ActiveCell.VerticalAlignment = xlCenter
End Sub

Para reducir la repetición de código, podemos utilizar una declaración With y End With.

Sub CentrarAmbosWith()
  With Selection
   .HorizontalAlignment = xlCenter
   .VerticalAlignment = xlCenter
  End With
End Sub

El código anterior se aplicará a todas las celdas de Excel que estén seleccionadas en ese momento.

Centrar ambos with

El uso de With y End With es muy efectivo cuando tenemos que hacer mucho formato dentro de la selección, como combinar celdas o cambiar la orientación.

Sub Combinar_y_Centrar()
  With Selection
   .HorizontalAlignment = xlCenter
   .VerticalAlignment = xlBottom
   .Orientation = -36
   .MergeCells = True
  End With
End Sub
vba-free-addin

Complemento de Ejemplos de Código de VBA

Acceda fácilmente a todos los ejemplos de código que se encuentran en nuestro sitio.

Simplemente navegue al menú, haga clic y el código se insertará directamente en su módulo. Complemento .xlam.

(¡No se requiere instalación!)

Descarga gratuita

Return to VBA Code Examples