Страницы: 1
RSS
Макрос. Проверка всех строк на любое значение и увеличить высоту этих строк
 
Всем привет!
Скачал готовый макрос на просторах интернета, но столкнулся с ошибкой
в строке "If Not isEmpty(cell.Value) Then " выделяет "isEmpty".
Ознакомился со статьей Дмитрия и как я понял проблема в том, что используется переменная которая не объявлена, но это не так.
Помогите, пожалуйста, сделать макрос рабочим.


Скрытый текст
Изменено: Александр - 10.03.2024 07:30:46
В жизни нет ничего невозможного! Есть только недостаток знаний и умений.
 
IsEmpty является функцией VBA и использовать ее в качестве переменной нельзя
П.С. Row - тоже служебное слово, и, хотя, его можно использовать как имя переменной, но это чревато ошибками. Это касается и всех других зарезервированных выражений VBA/Excel и т.п.
Согласие есть продукт при полном непротивлении сторон
 
Sanja, спасибо. изменил все наименования переменных

Теперь ругается на строке "row.RowHeight = row.RowHeight + 10"

Скрытый текст
В жизни нет ничего невозможного! Есть только недостаток знаний и умений.
 
Ну так теперь нет такой переменной - row), теперь у Вас есть rowq
Код
rowq.RowHeight = rowq.RowHeight + 10
Согласие есть продукт при полном непротивлении сторон
 
Согласен, я пробовал - менял/подставлял в разных интерпретациях. Не работает)
Изменено: Александр - 10.03.2024 11:04:09
В жизни нет ничего невозможного! Есть только недостаток знаний и умений.
 
См.выше
Согласие есть продукт при полном непротивлении сторон
 
Sanja,
именно так делал

Мб полезно будет, через Immediate прогнал
Цитата
?rowq.RowHeight = rowq.RowHeight + 10
False
В жизни нет ничего невозможного! Есть только недостаток знаний и умений.
 
Ок, придется вникать глубже) Вы какую Задачу решаете? Обычными словами, без VBA?
Согласие есть продукт при полном непротивлении сторон
 
Есть таблица из 30+ столбцов и "n" кол-во строк. Проблема возникает когда отправляешь на печать таблицу. На экране проблем нет, но при печати некоторые строки обрезаются снизу, не хватает высоты строки (около 5 пикселей)
В жизни нет ничего невозможного! Есть только недостаток знаний и умений.
 
Странно... Может с драйверами принтера что не так?
Согласие есть продукт при полном непротивлении сторон
 
Sanja, вроде ок, администраторы проверяли
В жизни нет ничего невозможного! Есть только недостаток знаний и умений.
 
Обобщим.. Вам нужно в каждой НЕ пустой строке диапазона увеличить высоту строки на 10?
Согласие есть продукт при полном непротивлении сторон
 
да
В жизни нет ничего невозможного! Есть только недостаток знаний и умений.
 
Уточню.
При нажатии на кнопку, строки из заполненного диапазона должны автоматически подобрать высоту + прибавить около 5 пикселей.
В жизни нет ничего невозможного! Есть только недостаток знаний и умений.
 
Александр, приветствую.
С учётом вышеприведённых замечаний от коллег:
Скрытый текст
 
andypetr,
Повторяется ошибка, как в сообщение #7
В жизни нет ничего невозможного! Есть только недостаток знаний и умений.
 
Выскочила ошибка - "Нельзя установить свойство RowHeight класса Range
В жизни нет ничего невозможного! Есть только недостаток знаний и умений.
 
Убираем лишнее, добавляем нужное
Скрытый текст

Итог
Код
Sub УвелечениеВысотыСтрок()
Dim ws As Worksheet
    Dim r As Range
    ' Перебор всех строк в листе
    On Error Resume Next
    For Each r In ActiveSheet.UsedRange.Rows
        If r.SpecialCells(xlCellTypeBlanks).Count <> r.Cells.Count Then
            r.RowHeight = r.RowHeight + 10
        End If
    Next r
    On Error GoTo 0
End Sub
Изменено: БМВ - 10.03.2024 12:47:05
По вопросам из тем форума, личку не читаю.
 
БМВ,
Опять ошибка
"Не найдено ни одной ячейки, удовлетворяющей указанным условиям"

Какие действия/объекты в книги могут блокировать выполнения макроса/ов?
В жизни нет ничего невозможного! Есть только недостаток знаний и умений.
 
Александр, попробуйте переоткрыть приложение.
По вопросам из тем форума, личку не читаю.
 
БМВ, Спасибо!
Вы оказывается правки добавили в код. Теперь работает!
Я как понимаю, тут перебор всех строк на активном листе? Это оказывается и не критично, времени занимает сек 10  
В жизни нет ничего невозможного! Есть только недостаток знаний и умений.
 
Нет, перебор все строк в используемом диапазоне на активном листе, как был так и остался, а вот в строках перебор ячеек на проверку заполнения переделал.
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх