Eu tenho uma célula com conteúdo de texto agrupado no Excel e quero formatar a célula para que sua altura se ajuste ao tamanho do conteúdo que pode se estender por várias linhas. Como posso conseguir esse comportamento?
Eu tenho uma célula com conteúdo de texto agrupado no Excel e quero formatar a célula para que sua altura se ajuste ao tamanho do conteúdo que pode se estender por várias linhas. Como posso conseguir esse comportamento?
Respostas:
Em http://support.microsoft.com/kb/149663
Para ajustar a altura da linha para caber todo o texto em uma célula, siga estas etapas:
Selecione a linha.
No Microsoft Office Excel 2003 e em versões anteriores do Excel, aponte para Linha no menu Formatar e, em seguida, clique em Ajustar automaticamente.
No Microsoft Office Excel 2007, clique na guia Início, clique em Formatar no grupo Células e clique em Ajustar automaticamente a altura da linha.
Também funciona quando todas as linhas são selecionadas
Experimentar
Selecione a coluna -> clique com o botão direito do mouse na coluna -> Formatar células -> guia Alinhamento -> Quebrar texto
Wrap Text
e desativar novamente, o Excel redimensionará a altura da linha para caber na linha mais alta. Não é adequado se a altura das linhas estiver mudando dinamicamente, mas se você estiver lidando com texto estático, tudo ficará bem.
Observe que o ajuste automático não funciona em células mescladas. Você precisa fazer isso manualmente.
Veja esta resposta da Microsoft:
Se isso não ocorrer automaticamente, coloque o cursor sobre a pequena linha entre os números das linhas (por exemplo: entre 1 e 2) e clique duas vezes; isso redimensionará a linha (diretamente acima da linha pequena, no exemplo: 1) para que tudo fique visível (de um aspecto vertical).
Uma solução VBA é usar o seguinte:
Call Application.ActiveCell.AutoFit
A única maneira de fazê-lo funcionar conforme o esperado é realçar a folha inteira com CTRL-A, desmarque o botão "Quebrar texto" na barra de ferramentas e selecione-o novamente. Nenhuma outra configuração é alterada, mas cada linha agora tem a altura "adequada" para seu conteúdo.
Criei o código VB a seguir para redimensionar a linha do cabeçalho quando uma célula dentro de um intervalo (B2: B1500) porque valores de data acima de 28/12/2014 levariam o cabeçalho a mostrar um aviso de que essas datas, em um quadro de horários, entrariam em Semana 1 de 2015:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
' The variable KeyCells contains the cells that will
' cause an Action when they are changed.
Set KeyCells = Range("B2:B1500")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
' Change the height of the header row when one of the defined cdlls is changed
Rows("1:1").EntireRow.AutoFit
End If
End Sub