VBA Excel высота строки до последней строки - PullRequest
0 голосов
/ 18 февраля 2020

Этот запрос тесно связан с этим:

Настройка RowHeight Excel VBA

, но когда я немного его изменяю (так как я хочу высоту строки = Только 15).

 Dim ws As Worksheet
 Set ws = ActiveSheet

 Dim Rng As Range
 Dim cel As Range
 Set Rng = Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column).End(xlUp)) '& lastRow

 For Each cel In Rng
 cel.Rows.AutoFit
 cel.Rows.RowHeight = 15
Next cel

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

Я пытался поместить & lastRow сразу после. Конец (xlUp), но, к сожалению, он не сработал.

Ситуация выглядит следующим образом:

enter image description here

Только первый 5 строк были откорректированы (там, где изначально была активирована ячейка), но мне нужны все до конца. Значение, которое будет гибким в будущем.

Как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 18 февраля 2020

В наборе rng вы указываете activecell, который вызывает проблему. Также у вас есть xlUp, который, как вы можете видеть здесь, форматирует ячейки вверх по вашему выбору. Это работает для вас?

 Sub test()
    ActiveSheet.UsedRange.Rows.AutoFit
    ActiveSheet.UsedRange.Rows.RowHeight = 15
 End Sub
1 голос
/ 18 февраля 2020

Высота строки применяется ко всей строке, поэтому выбранный столбец не имеет значения.

Также нет необходимости в l oop.

Sub x()

Dim Rng As Range

Set Rng = Range("S1", Cells(Rows.Count, "S").End(xlUp))

rng.EntireRow.AutoFit 
rng.EntireRow.RowHeight = 15   

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...