Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.02.2010, 13:19   #11
Eresiarh
Пользователь
 
Регистрация: 15.01.2010
Сообщений: 31
По умолчанию

Выражу материальную благодарность в размере 2-3 сотен рублей на кошелек или сотовый.
Eresiarh вне форума Ответить с цитированием
Старый 17.02.2010, 14:23   #12
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код для перебора листов неоднократно встречался на форуме...

Попробуйте такой вариант:
Код:
Sub AutoFitMergedCellRowHeight(ByRef ra As Range)
    Dim CurrCell As Range, cell As Range, ma As Range: Dim col As Range, ro As Range
    For Each ro In ra.Rows
        maxRH = 0
        For Each cell In ro.Cells
            If cell.MergeCells And cell.Address = cell.MergeArea.Cells(1).Address Then
                Debug.Print cell.Address(, , , -1)
                Set ma = cell.MergeArea: newCW = 0
                With ma
                    cw = .Columns(1).ColumnWidth: .UnMerge
                    For Each col In .EntireColumn: newCW = newCW + col.ColumnWidth: Next
                    .Columns(1).ColumnWidth = newCW: .EntireRow.AutoFit
                    rh = .EntireRow.RowHeight: If rh > maxRH Then maxRH = rh
                    .Merge: .Columns(1).ColumnWidth = cw
                End With
            End If
        Next cell
        If maxRH > 0 Then ro.EntireRow.RowHeight = maxRH
    Next ro
End Sub

Sub ПримерИспользования()
    Application.ScreenUpdating = False
    Dim sh As Worksheet
    For Each sh In ThisWorkbook.Worksheets    ' перебираем все листы
        ' обрабатываем всю используемую область листа
        AutoFitMergedCellRowHeight sh.UsedRange
    Next sh
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 17.02.2010, 15:51   #13
Eresiarh
Пользователь
 
Регистрация: 15.01.2010
Сообщений: 31
По умолчанию

Спасибо, теперь понял, что куда, жаль что макрос долговат. Но все же как и обещал, завтра.
Eresiarh вне форума Ответить с цитированием
Старый 17.02.2010, 15:59   #14
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Код для перебора
Игорь, а я так делаю, это правильно??
Код:
Sub Высота_Строк()
Rows("3:1365").Select
    Selection.RowHeight = 15.75
    Range("d3").Select
End Sub
valerij вне форума Ответить с цитированием
Старый 21.03.2011, 12:34   #15
sorockinalex
Пользователь
 
Регистрация: 10.10.2009
Сообщений: 22
По умолчанию

Спасибо огромное! Весь интернет перерыл, нашёл что надо!!! Супер! Долговто только работает при автоматическом режиме.. А если назначить отдельно необходимые ячейки - то норм ))) Спасибо!
sorockinalex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоподбор высоты tae1980 Microsoft Office Excel 7 16.11.2010 18:01
Блоки div вместо td, как сделать две колонки одинаковой высоты? v.victoria12345 HTML и CSS 0 06.05.2009 18:05
Выравнивание высоты таблицы для разного разрешения Svetix HTML и CSS 10 03.04.2009 17:00
Изменение высоты фрецма от контента cwit JavaScript, Ajax 6 19.11.2008 07:25