Este tutorial demostrará cómo usar VBA para centrar texto en una celda tanto horizontal como verticalmente.
Podemos usar el grupo Alineación en la Cinta de Inicio en Excel para centrar el texto tanto horizontal como verticalmente en una celda. Si estamos escribiendo una macro para formatear texto, podemos volver a crear esta funcionalidad usando el código VBA.
Centrar texto horizontalmente
Para centrar el texto horizontalmente en una sola celda, podemos usar el siguiente código:
123 | Sub CenterText ()ActiveCell.HorizontalAlignment = xlCenterEnd Sub |
Alternativamente, para centrar el texto horizontalmente en cada celda de un rango de celdas seleccionado, podemos usar el objeto Selección y hacer lo siguiente:
123 | Sub CenterText ()Selection.HorizontalAlignment = xlCenterEnd Sub |
También podemos cambiar la alineación a derecha o izquierda usando el xlIzquierda y xlDerecho constantes.
Para alinear a la derecha el texto en una celda, podemos usar el siguiente código:
123 | Sub RightAlignText ()ActiveCell.HorizontalAlignment = xlRightEnd Sub |
Centrar texto verticalmente
Centrar el texto verticalmente es muy parecido a hacerlo horizontalmente.
123 | Sub CenterTextVertical ()ActiveCell.VerticalAlignment = xlCenterEnd Sub |
Al igual que centrar el texto verticalmente en una selección:
123 | Sub CenterTextVertically ()Selection.VerticalAlignment = xlCenterEnd Sub |
También podemos cambiar el texto a la parte superior o inferior de una celda o selección usando el xlTop o xlBottom constantes.
123 | Sub TopAlignVertically ()ActiveCell.VerticalAlignment = xlTopEnd Sub |
Centrar texto horizontal y verticalmente al mismo tiempo
Si queremos centrar el texto tanto horizontal como verticalmente al mismo tiempo, hay un par de formas de hacerlo.
1234 | Subcentro Ambos ()ActiveCell.HorizontalAlignment = xlCenterActiveCell.VerticalAlignment = xlCenterEnd Sub |
Alternativamente, para reducir la repetición de código, podemos usar una instrucción With y End With.
123456 | Subcentro Ambos2 ()Con selección.HorizontalAlignment = xlCenter.VerticalAlignment = xlCenterTerminar conEnd Sub |
El código anterior se aplicará a todas las celdas de Excel que estén seleccionadas en ese momento.
Usar With y End With es muy efectivo cuando tenemos mucho formato que hacer dentro de la selección, como fusionar celdas o cambiar la orientación.
12345678 | Sub MergeAndCenter ()Con selección.HorizontalAlignment = xlCenter.VerticalAlignment = xlBottom.Orientación = -36.MergeCells = VerdaderoTerminar conEnd Sub |