VBA Centralizar Texto – Alinhamento de Células (Horizontal e Vertical)
In this Article
Este tutorial demonstrará como usar o VBA para centralizar o texto em células na horizontal e na vertical.
Podemos usar o grupo Alinhamento na Faixa de Opções da Página Inicial do Excel para centralizar o texto horizontal e verticalmente em uma célula. Se estivermos escrevendo uma macro para formatar texto, poderemos recriar essa funcionalidade usando o código VBA.
Centralizar o Texto Horizontalmente
Para centralizar o texto horizontalmente em uma única célula, podemos usar o seguinte código:
Sub CentralizarTexto()
ActiveCell.HorizontalAlignment = xlCenter
End Sub
Como alternativa, para centralizar o texto horizontalmente em cada célula de um intervalo de células selecionado, podemos usar o objeto Selection e fazer o seguinte:
Sub CentralizarTexto()
Selection.HorizontalAlignment = xlCenter
End Sub
Também podemos alterar o alinhamento para a direita ou para a esquerda usando as constantes xlLeft e xlRight.
Para alinhar o texto à direita em uma célula, podemos usar o seguinte código:
Sub AlinharTextoDireita()
ActiveCell.HorizontalAlignment = xlRight
End Sub
Centralizar o Texto Verticalmente
Centralizar o texto verticalmente é praticamente o mesmo que na horizontal.
Sub CentralizarTextoVertical()
ActiveCell.VerticalAlignment = xlCenter
End Sub
O mesmo ocorre com a centralização do texto verticalmente em uma seleção:
Sub CentralizarTextoVertical()
Selection.VerticalAlignment = xlCenter
End Sub
Também podemos alterar o texto para a parte superior ou inferior de uma célula ou seleção usando as constantes xlTop ou xlBottom.
Sub AlinharEmCime()
ActiveCell.VerticalAlignment = xlTop
End Sub
Centralizar o Texto na Horizontal e na Vertical ao Mesmo Tempo
Se quisermos centralizar o texto na horizontal e na vertical ao mesmo tempo, há algumas maneiras de fazer isso.
Sub CentralizarAmbos()
ActiveCell.HorizontalAlignment = xlCenter
ActiveCell.VerticalAlignment = xlCenter
End Sub
Para reduzir a repetição de código, podemos usar uma declaração With e End With.
Sub CentralizarAmbos2()
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
End Sub
O código acima será aplicado a todas as células do Excel que estiverem selecionadas no momento.
O uso de With e End With é muito eficaz quando há muita formatação a ser feita dentro da seleção, como mesclar células ou alterar a orientação.
Sub Mesclar_E_Centralizar()
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.Orientation = -36
.MergeCells = True
End With
End Sub