Excel это не сложно
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
18.04.2024, 22:18:51

Войти
Добавляйтесь в нашу группу ВКонтакте - будьте в курсе всех новых событий сайта, узнавайте первым обо всех акциях и новых статьях!
33 242 Сообщений в 5 457 Тем от 6 758 Пользователей
Последний пользователь: Сергей2662
*
Перейти на сайт Хитрости Надстройка MulTEx Обучающие тренинги Наша группа ВКонтакте
Правила форума Начало Помощь Поиск Календарь Войти Регистрация Выйти
+  Excel это не сложно
|-+  Основные форумы
| |-+  Вопросы по Excel и VBA
| | |-+  Применить макрос автоподбора высоты ячейки ко всем листам
Страниц: [1]   Вниз
Печать
Автор Тема: Применить макрос автоподбора высоты ячейки ко всем листам  (Прочитано 2941 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Leojse
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 29


Просмотр профиля E-mail
« : 12.05.2020, 15:46:49 »

Добрый день!
Нашел очень полезный для макрос по ссылке https://www.excel-vba.ru/chto-umeet-excel/podbor-vysoty-strokishiriny-stolbca-obedinennoj-yachejki/
Хотел бы узнать, как можно применить данный макрос ко всем листам книги?
Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

Репутация: +485/-0
Офлайн Офлайн

Сообщений: 5 831



Просмотр профиля WWW
« Ответ #1 : 13.05.2020, 10:18:59 »

Сделать цикл по всем листам. Вопрос лишь в том как определять какие ячейки надо обрабатывать - выделенные или определенные?
Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Leojse
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 29


Просмотр профиля E-mail
« Ответ #2 : 13.05.2020, 13:08:02 »

Дмитрий Щербаков(The_Prist), хотелось бы выровнять высоту объединенных ячеек по столбцам E-G в каждом листе книги. Строки в этих столбцах тоже могут быть объединены. Ширину подбирать не нужно.
Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

Репутация: +485/-0
Офлайн Офлайн

Сообщений: 5 831



Просмотр профиля WWW
« Ответ #3 : 13.05.2020, 15:18:23 »

Попробуйте так
Код: (vb)
Sub ChangeRowColHeight()
    Dim rc As Range,ws as Worksheet
    Dim bRow As Boolean
    bRow = (MsgBox("Изменять высоту строк?", vbQuestion + vbYesNo, "www.excel-vba.ru") = vbYes)
    'bRow = True:  для изменения высоты строк
    'bRow = False: для изменения ширины столбцов
    Application.ScreenUpdating = False
    for each ws in activeworkbook.worksheets
        For Each rc In Intersect(ws.Range("E:G"), ws.Usedrange).cells
            RowColHeightForContent rc, bRow
        Next
    Next
    Application.ScreenUpdating = True
End Sub
Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Leojse
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 29


Просмотр профиля E-mail
« Ответ #4 : 13.05.2020, 17:23:43 »

Дмитрий Щербаков(The_Prist), огромное Вам спасибо! Всё работает.
Записан
Страниц: [1]   Вверх
Печать
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Яндекс.Метрика Рейтинг@Mail.ru