У мене в Excel є комірка із загорнутим текстовим вмістом, і я хочу відформатувати її, щоб її висота була відрегульована відповідно до вмісту, який може охоплювати декілька рядків. Як я можу досягти такої поведінки?
У мене в Excel є комірка із загорнутим текстовим вмістом, і я хочу відформатувати її, щоб її висота була відрегульована відповідно до вмісту, який може охоплювати декілька рядків. Як я можу досягти такої поведінки?
Відповіді:
З http://support.microsoft.com/kb/149663
Щоб відрегулювати висоту рядка, щоб вмістити весь текст у комірці, виконайте наступні дії:
Виберіть рядок.
У Microsoft Office Excel 2003 та більш ранніх версіях Excel вкажіть на рядок у меню Формат та натисніть кнопку Автоматично.
У Microsoft Office Excel 2007 перейдіть на вкладку «Головна», у групі «Осередки» виберіть «Формат», а потім виберіть «Автоматично встановити висоту рядків».
Також працює, коли вибрані всі рядки
Спробуйте
Виберіть стовпчик -> стовпець правою кнопкою миші -> Форматування комірок -> вкладка Вирівнювання -> Обертання тексту
Wrap Text
та знову ввімкнете, Excel змінить розмір висоти рядка відповідно до найвищого рядка. Не підходить, якщо висота рядків динамічно змінюється, але якщо ви маєте справу зі статичним текстом, це повинно бути добре.
Зауважте, що автоматичне налаштування не працює на об'єднаних клітинках. Ви повинні це зробити вручну.
Дивіться цю відповідь Microsoft:
Якщо це не зробити автоматично, помістіть курсор на невеликий рядок між номерами рядків (наприклад: від 1 до 2) та двічі клацніть, це дозволить змінити розмір рядка (безпосередньо над малим рядком, у прикладі: 1) щоб все було видно (з вертикального аспекту).
Рішенням VBA є використання наступного:
Call Application.ActiveCell.AutoFit
Єдиний спосіб, коли я можу змусити його працювати так, як очікувалося, - виділити весь аркуш CTRL-A, видалити на панелі інструментів кнопку «Обернути текст», а потім повторно вибрати її. Інші налаштування не змінюються, але кожен рядок тепер має "належну" висоту для свого вмісту.
Я створив наступний код VB, щоб змінити розмір рядка заголовка, коли комірка в межах діапазону (B2: B1500), оскільки значення дати вище 28.12.2014 призведе до того, що заголовок відображатиме попередження про те, що ці дати в розкладі часу переходять у 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