Este tutorial demonstrará como usar o VBA para centralizar texto em uma célula horizontal e verticalmente.
Podemos usar o grupo Alinhamento na Faixa de Opções Inicial do Excel para centralizar o texto horizontal e verticalmente em uma célula. Se estivermos escrevendo uma macro para formatar texto, podemos 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:
123 | Sub CenterText ()ActiveCell.HorizontalAlignment = xlCenterEnd Sub |
Como alternativa, para centralizar o texto horizontalmente em cada célula de um intervalo de células selecionado, podemos usar o objeto Seleção e fazer o seguinte:
123 | Sub CenterText ()Selection.HorizontalAlignment = xlCenterEnd Sub |
Também podemos alterar o alinhamento para a direita ou esquerda usando o xlLeft e xlRight constantes.
Para alinhar à direita o texto em uma célula, podemos, portanto, usar o seguinte código:
123 | Sub RightAlignText ()ActiveCell.HorizontalAlignment = xlRightEnd Sub |
Centralizar texto verticalmente
Centralizar o texto verticalmente é quase o mesmo que horizontalmente.
123 | Sub CenterTextVertical ()ActiveCell.VerticalAlignment = xlCenterEnd Sub |
Como está centralizando o texto verticalmente em uma seleção:
123 | Sub CenterTextVertically ()Selection.VerticalAlignment = xlCenterEnd Sub |
Também podemos alterar o texto para a parte superior ou inferior de uma célula ou seleção usando o xlTop ou xlBottom constantes.
123 | Sub TopAlignVertically ()ActiveCell.VerticalAlignment = xlTopEnd Sub |
Centralize o texto horizontalmente e verticalmente ao mesmo tempo
Se quisermos centralizar o texto horizontal e verticalmente ao mesmo tempo, há algumas maneiras de fazer isso.
1234 | Sub CenterBoth ()ActiveCell.HorizontalAlignment = xlCenterActiveCell.VerticalAlignment = xlCenterEnd Sub |
Como alternativa, para reduzir a repetição de código, podemos usar uma instrução With e End With.
123456 | Sub CenterBoth2 ()Com Seleção.HorizontalAlignment = xlCenter.VerticalAlignment = xlCenterTerminar comEnd Sub |
O código acima será aplicado a todas as células do Excel selecionadas no momento.
Usar With e End With é muito eficaz quando temos muita formatação a fazer na seleção, como mesclar células ou alterar a orientação.
12345678 | Sub MergeAndCenter ()Com Seleção.HorizontalAlignment = xlCenter.VerticalAlignment = xlBottom.Orientation = -36.MergeCells = TrueTerminar comEnd Sub |