Ho una cella con contenuto di testo avvolto in Excel e voglio formattare la cella in modo che la sua altezza si adatterà al contenuto che può estendersi su più righe. Come posso ottenere questo comportamento?
Ho una cella con contenuto di testo avvolto in Excel e voglio formattare la cella in modo che la sua altezza si adatterà al contenuto che può estendersi su più righe. Come posso ottenere questo comportamento?
Risposte:
Da http://support.microsoft.com/kb/149663
Per regolare l'altezza della riga per adattare tutto il testo in una cella, attenersi alla seguente procedura:
Seleziona la riga.
In Microsoft Office Excel 2003 e nelle versioni precedenti di Excel, scegliere Riga dal menu Formato e quindi fare clic su Adatta.
In Microsoft Office Excel 2007, fare clic sulla scheda Home, fare clic su Formato nel gruppo Celle, quindi fare clic su Adatta altezza riga.
Funziona anche quando tutte le righe sono selezionate
Provare
Seleziona la colonna -> tasto destro del mouse sulla colonna -> Formato celle -> scheda Allineamento -> Avvolgi il testo
Wrap Text
attiva e disattiva nuovamente, Excel ridimensionerà l'altezza della riga per adattarla alla riga più alta. Non adatto se l'altezza delle righe cambia in modo dinamico ma se hai a che fare con il testo statico dovrebbe essere OK.
Si noti che l'autofit non funziona su celle unite. Devi farlo manualmente.
Vedi questa risposta Microsoft:
Se non lo fa automaticamente, posiziona il cursore sulla piccola riga tra i numeri di riga (es: tra 1 e 2) e fai doppio clic, questo ridimensionerà la riga (direttamente sopra la linea piccola, nell'esempio: 1) in modo che tutto sia visibile (da un aspetto verticale).
Una soluzione VBA consiste nell'utilizzare quanto segue:
Call Application.ActiveCell.AutoFit
L'unico modo per farlo funzionare come previsto è evidenziare l'intero foglio con CTRL-A, deselezionare il pulsante "Testo a capo" nella barra degli strumenti, quindi selezionarlo nuovamente. Nessun'altra impostazione cambia, ma ogni riga è ora l'altezza "corretta" per il suo contenuto.
Ho creato il seguente codice VB per ridimensionare la riga di intestazione quando una cella all'interno di un intervallo (B2: B1500) perché valori di data superiori al 28/12/2014 indurrebbero l'intestazione a mostrare un avviso che tali date, in una scheda attività, verrebbero inserite in Settimana 1 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