Как увеличить высоту строки в Excel с помощью X. Т.е. Добавить вертикальное заполнение ячейки

У меня есть этот отчет, и я хочу увеличить вертикальное заполнение ячейки, чтобы было легче читать.

Теперь, как правило, вы можете просто выбрать несколько строк и изменить высоту строки, пока не будете удовлетворены.

Однако в этом случае у меня есть ячейки с обернутым текстом и несколькими строками. Я не могу изменить изменение высоты строки, потому что обернутый текст будет отключен.

То, что я хочу сделать, – увеличить высоту строки кучки ячеек на определенное значение. Вместо того, чтобы просто изменить его на заданное значение. то есть.

rowheight = rowheight + X 

Не

 rowheight = X 

Можете ли вы сделать это в Excel? Мне нужен VBA?

Я бы пошел за кодом ниже … не уверен, будет ли способ применить его для всех строк один раз. Я был бы рад (и upvote), если кто-то здесь знает 🙂

 Sub fixRowHeight() Dim oRange As Excel.Range Dim oRow As Excel.Range Dim dblFactor As Double Set oRange = Sheets(1).Range("A1:B25") dblFactor = 5 For Each oRow In oRange.Rows oRow.RowHeight = oRow.RowHeight + dblFactor Next oRow End Sub 

Я просто попал в эту проблему, и вышеупомянутое решение не является удовлетворительным в некоторых случаях.

  1. Вставьте столбец где-нибудь – возможно, столбец A. Выберите весь столбец.
  2. Дайте ему верхние / нижние границы самого толстого вида – твердый жирный бар – примените / хорошо.
  3. Выберите все другие столбцы, которые вы хотите добавить. Вертикально центрируйте их.
  4. Скройте граничный столбец & сохраните.

Это дает вам верхнее и нижнее дополнение приблизительно 3 единицы / 5px top & bottom. С помощью arial достаточно удерживать вершины и хвосты от касания краев ячейки.

Приведенный код VBA хорош. Но он терпит неудачу, как только ваша таблица просматривается кем-то, кому нужно сузить некоторые столбцы, и поэтому удаляет ручное форматирование или применяет свои собственные. Если пользователь знает, что они делают, они нажмут Ctrl + A и дважды щелкните индикатор строки, чтобы автоматически увеличить все строки.

Использование границ обеспечивает решение, которое всегда будет работать независимо, если не отформатировать вручную.

Вот макрос, который поможет вам.

Сначала он устанавливает вертикальное выравнивание для каждой ячейки в Center .

Затем он принимает текущую высоту каждой ячейки и добавляет к ней 7.5 (это эквивалентно 10 пикселям ). В конце, он добавляет 5-пиксельное дополнение к верхней и нижней части ячейки. Просто отрегулируйте это значение в соответствии с вашими предпочтениями.

 Sub PadCells() Set cr = Selection For Each cr In cr.Rows newHeight = cr.RowHeight + 7.5 cr.VerticalAlignment = xlCenter cr.RowHeight = newHeight Next cr End Sub 

Использовать:

  1. Выберите ячейки, для которых вы хотите настроить высоту.
  2. Запустите макрос.

Чтобы изложить ответ от Tiago Cardoso , я добавил условие для проверки, чтобы максимальная высота строки не превышалась при увеличении высоты строки с переменной коэффициента изменения размера.

 Sub FixRowHeight() Dim oRange As Excel.Range Dim oRow As Excel.Range Dim dblFactor As Double Set oRange = Sheets(1).Range("A1:O367") dblFactor = 12 For Each oRow In oRange.Rows If oRow.RowHeight + dblFactor <= 409.5 Then oRow.RowHeight = oRow.RowHeight + dblFactor Else oRow.RowHeight = 409.5 End If Next oRow End Sub 
  • Как отрезать массив в Excel VBA?
  • Есть ли более быстрый CountIF
  • Значение Autonumber последней вставленной строки - MS Access / VBA
  • Как вводить только уникальные значения в столбце Excel 2007
  • Готовые заявления MS Access
  • Макрос Vba для копирования строки из таблицы, если значение в таблице соответствует условию
  • Вставка диапазона Excel в электронное письмо как изображение
  • Создать форму timestamp для Excel
  • Несколько фильтров Pivotfields
  • Как я могу выполнить эту функцию с помощью VBA в excel?
  • VBA ServerXMLHTTP запрос https с самозаверяющим сертификатом
  • Давайте будем гением компьютера.