
Contexto:Eu tenho uma planilha com um menu suspenso com categorias diferentes. A planilha também possui uma tabela cujas informações são atualizadas dependendo da categoria selecionada no menu suspenso. Algumas das categorias produzem muito texto, exigindo células grandes, e algumas possuem apenas pequenas quantidades de texto, exigindo células pequenas.
O que estou procurando:O que estou procurando é uma maneira de o tamanho da célula ser atualizado automaticamente dependendo da quantidade de texto na célula para qualquer categoria.Eu entendo como fazer isso manualmente,destacando a página inteira e clicando em ajuste automático ou clicando duas vezes nos divisores de coluna ou linha. No entanto, gostaria que isso acontecesse assim que eu selecionasse um item suspenso. A razão é que diferentes pessoas usarão esta planilha e, se não souberem que precisam atualizar manualmente os tamanhos das células, poderão perder informações críticas porque a planilha está configurada para tamanhos de células pequenos e não é óbvio que o texto foi foi cortado. Por outro lado, se eu definir a tabela para tamanhos de células muito grandes por padrão, quando for selecionada uma categoria que produz apenas pequenas quantidades de texto, a tabela será muito maior e mais pesada do que precisa ser.
Alguém conhece uma maneira de atualizar automaticamente o tamanho das células assim que a quantidade de texto nelas muda?
Obrigado!
Responder1
Faça uma macro para atualizar a largura da coluna sempre que uma célula dessa coluna for alterada.
As células mudam devido à entrada do usuário ou ao recálculo da fórmula. Você usaria um tipo diferente de macro para cada tipo de alteração. O seguinte é um exemplo típico para entradas manuais na colunaC:
Insira a seguinte macro de eventos na área de código da planilha:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("C:C")) Is Nothing Then Exit Sub
Cells(1, "C").EntireColumn.AutoFit
End Sub
Por ser um código de planilha, é muito fácil de instalar e automático de usar:
- clique com o botão direito no nome da guia próximo à parte inferior da janela do Excel
- selecione Ver código - isso abre uma janela VBE
- cole o material e feche a janela do VBE
Se você tiver alguma dúvida, primeiro experimente em uma planilha de teste.
Se você salvar a pasta de trabalho, a macro será salva com ela. Se você estiver usando uma versão do Excel posterior a 2003, deverá salvar o arquivo como .xlsm em vez de .xlsx
Para remover a macro:
- abra as janelas VBE como acima
- limpar o código
- feche a janela do VBE
Para saber mais sobre macros em geral, consulte:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
e
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
Para saber mais sobre macros de eventos (código de planilha), consulte:
http://www.mvps.org/dmcritchie/excel/event.htm
As macros devem estar habilitadas para que isso funcione!