VBA – Centrar Texto – Alineación de Celdas (Horizontal y Vertical)
In this Article
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.
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