Как увеличить высоту строки в Excel на X. ie. Добавление отступа по вертикали
у меня есть этот отчет, и я хочу увеличить вертикальную ячейку, чтобы было легче читать.
теперь, как правило, вы можете просто выбрать несколько строк и изменить высоту строки, пока вы не удовлетворены.
однако, в данном случае, у меня есть ячейки с текстом и несколькими строками. Я не могу изменить высоту строки, потому что обернутый текст будет обрезан.
то, что я хочу сделать, это увеличить высота строки кучи клеток по определенному значению.
Вместо того, чтобы просто изменить его на заданное значение.
т.
rowheight = rowheight + X
не
rowheight = X
Вы можете сделать это в Excel? Нужен ли мне VBA?
4 ответов
Я бы пошел на код ниже... не уверен, что будет способ применить его для всех строк один раз. Я был бы рад (и 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
Я только что ударил этот вопрос и вышеуказанное решение не является удовлетворительным в некоторых случаях.
- вставить столбец куда-нибудь-вероятно, столбец A. выберите весь столбец.
- дайте ему верхние / нижние границы самого толстого вида-твердый жирный бар-применить / ok.
- выберите все остальные столбцы, которые вы хотите дополнить. Вертикально по центру.
- скрыть граничный столбец и сохранить.
Это дает вам верхняя и нижняя прокладка приблизительно 3 блоков/верхней части & дна 5px. С 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
в использование:
- выберите ячейки, для которых вы хотите настроить высоту.
- запустить макрос.
растолковывать ответ С 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
Другие вопросы microsoft-excel microsoft-excel-2007 vba