VBA Centralizar Texto – Alinhamento de Células (Horizontal e Vertical)

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on May 27, 2023

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.

CenterText With

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
vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA