Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Автоподбор высоты строк в объединенных ячейках (правка) - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоподбор высоты строк в объединенных ячейках (правка) (Макросы/Sub)
Автоподбор высоты строк в объединенных ячейках (правка)
cmivadwot Дата: Вторник, 11.10.2022, 07:43 | Сообщение № 21
Группа: Пользователи
Ранг: Участник
Сообщений: 87
Репутация: 6 ±
Замечаний: 0% ±

174dom, для увеличения высоты строки..чуть больше чем текст... можно поэкспериментировать с уменьшением ширины столбца АТ (или увеличением шрифта в АТ на 0,5( был 10, поставить 10,5) И в АТ тип шрифта и размер должны быть как в объединенных ячейках.


Сообщение отредактировал cmivadwot - Вторник, 11.10.2022, 19:39
 
Ответить
Сообщение174dom, для увеличения высоты строки..чуть больше чем текст... можно поэкспериментировать с уменьшением ширины столбца АТ (или увеличением шрифта в АТ на 0,5( был 10, поставить 10,5) И в АТ тип шрифта и размер должны быть как в объединенных ячейках.

Автор - cmivadwot
Дата добавления - 11.10.2022 в 07:43
RAN Дата: Вторник, 11.10.2022, 18:45 | Сообщение № 22
Группа: Друзья
Ранг: Экселист
Сообщений: 5640
Репутация: 1145 ±
Замечаний: 0% ±

2010
Могу предложить фрагмент кода, выполняющий автоподбор высоты строки объединенной ячейки в выгрузке из "Гранд смета"
Основная фишка в строке 1640
[vba]
Код
1480      If afSh = 1 Then
1490          fRow = 40 ' с какой строки искать
1500          afCol = 3 ' сколько столбцов объединены
1510      Else
1520          fRow = 32
1530          afCol = 4
1540      End If

1550      Set sh = Sheets(afSh)
1560      Set coll = New Collection
1570      colW = 0
1580      For ii = afCol To afCol + 2
1590          colW = colW + sh.Columns(ii).ColumnWidth
1600      Next

1610      sh.Copy after:=Sheets(Sheets.Count)

1620      With Sheets(Sheets.Count)
1630          .Columns(afCol).ColumnWidth = colW
1640          .Columns(afCol).ColumnWidth = .Columns(afCol).ColumnWidth * _
                    sh.Range(sh.Columns(afCol), sh.Columns(afCol + 2)).Width / .Columns(afCol).Width
1650          For ii = fRow To itogRow
1660              If .Cells(ii, 4).MergeArea.Columns.Count = 3 Then
1670                  coll.Add ii
1680              End If
1690          Next
1700          With .Range(.Cells(fRow, afCol), .Cells(itogRow, afCol))
1710              .UnMerge
1720              .EntireRow.AutoFit
1730          End With
1740          For Each valColl In coll
1750              If sh.Rows(valColl).RowHeight <> .Rows(valColl).RowHeight Then
1760                  sh.Rows(valColl).RowHeight = .Rows(valColl).RowHeight
1770              End If
1780          Next
1790          Set coll = Nothing

1800          Application.DisplayAlerts = False
1810          Sheets(Sheets.Count).Delete
1820          Application.DisplayAlerts = True
1830      End With
[/vba]


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Вторник, 11.10.2022, 18:45
 
Ответить
СообщениеМогу предложить фрагмент кода, выполняющий автоподбор высоты строки объединенной ячейки в выгрузке из "Гранд смета"
Основная фишка в строке 1640
[vba]
Код
1480      If afSh = 1 Then
1490          fRow = 40 ' с какой строки искать
1500          afCol = 3 ' сколько столбцов объединены
1510      Else
1520          fRow = 32
1530          afCol = 4
1540      End If

1550      Set sh = Sheets(afSh)
1560      Set coll = New Collection
1570      colW = 0
1580      For ii = afCol To afCol + 2
1590          colW = colW + sh.Columns(ii).ColumnWidth
1600      Next

1610      sh.Copy after:=Sheets(Sheets.Count)

1620      With Sheets(Sheets.Count)
1630          .Columns(afCol).ColumnWidth = colW
1640          .Columns(afCol).ColumnWidth = .Columns(afCol).ColumnWidth * _
                    sh.Range(sh.Columns(afCol), sh.Columns(afCol + 2)).Width / .Columns(afCol).Width
1650          For ii = fRow To itogRow
1660              If .Cells(ii, 4).MergeArea.Columns.Count = 3 Then
1670                  coll.Add ii
1680              End If
1690          Next
1700          With .Range(.Cells(fRow, afCol), .Cells(itogRow, afCol))
1710              .UnMerge
1720              .EntireRow.AutoFit
1730          End With
1740          For Each valColl In coll
1750              If sh.Rows(valColl).RowHeight <> .Rows(valColl).RowHeight Then
1760                  sh.Rows(valColl).RowHeight = .Rows(valColl).RowHeight
1770              End If
1780          Next
1790          Set coll = Nothing

1800          Application.DisplayAlerts = False
1810          Sheets(Sheets.Count).Delete
1820          Application.DisplayAlerts = True
1830      End With
[/vba]

Автор - RAN
Дата добавления - 11.10.2022 в 18:45
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоподбор высоты строк в объединенных ячейках (правка) (Макросы/Sub)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2022 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!