Atualizar automaticamente o tamanho da célula do Excel em resposta ao conteúdo dinâmico

0

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 de qual categoria é selecionada na lista suspensa. 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 atualizar automaticamente o tamanho da célula, dependendo da quantidade de texto na célula de determinada 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. O motivo é que pessoas diferentes usarão essa 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á definida para tamanhos de células pequenas e não é óbvio que o texto tenha sido usado. foi cortado. Por outro lado, se eu definir a tabela para tamanhos de célula muito grandes por padrão, quando uma categoria for selecionada e gerar apenas pequenas quantidades de texto, a tabela será muito maior e mais difícil do que precisa ser.

Alguém sabe de uma forma de atualização automática de tamanhos de célula assim que a quantidade de texto neles muda?

Obrigado!

    
por KTG10 17.04.2018 / 20:34

1 resposta

0

Crie 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 devido ao novo cálculo da fórmula. Você usaria um tipo diferente de macro de cada tipo de alteração. A seguir, um exemplo típico de entradas manuais na coluna C :

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 usar automaticamente:

  1. clique com o botão direito do mouse no nome da guia próximo à parte inferior da janela do Excel
  2. selecione Exibir código - isso abre uma janela do VBE
  3. cole o material e feche a janela do VBE

Se você tiver alguma dúvida, tente primeiro 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:

  1. abrir as janelas do VBE como acima
  2. limpe o código
  3. feche a janela do VBE

Para saber mais sobre macros em geral, consulte:

link

e

link

Para saber mais sobre macros de eventos (código da planilha), consulte:

link

As macros devem estar ativadas para que isso funcione!

    
por 17.04.2018 / 20:49