GreyStyle2AllTables
Конвертирует все таблицы в файле серый стильuser_2065311
vbscript
5 months ago
3.0 kB
1
Indexable
``` GreyStyleTo2Tables Описание: Этот макрос проходит по всем листам активной книги и применяет серый стиль оформления (“TableStyleLight1”) ко всем таблицам, если они есть на листе. Помимо этого, макрос форматирует шрифт всего листа и увеличивает шрифт в первой строке (заголовки). Автоматически подстраивается высота первой строки и ширина столбцов для удобства чтения. По завершении выводится сообщение с количеством отформатированных листов. ``` Sub GreyStyleAllTables() Dim ws As Worksheet Dim tbl As ListObject Dim hasTables As Boolean Dim wb As Workbook Dim formattedSheets As Integer ' Устанавливаем активную книгу Set wb = ActiveWorkbook ' Счётчик отформатированных листов formattedSheets = 0 ' Цикл по всем листам активной книги For Each ws In wb.Worksheets ' Пропускаем лист с именем "Список листов" If ws.Name <> "Список листов" Then hasTables = False ' Проверка наличия таблиц (ListObjects) на листе If ws.ListObjects.Count > 0 Then hasTables = True ' Цикл по всем таблицам (ListObjects) на листе For Each tbl In ws.ListObjects ' Устанавливаем стиль таблицы tbl.TableStyle = "TableStyleLight1" Next tbl End If ' Применение форматирования, если таблицы существуют If hasTables Then ' Форматирование шрифта и заголовков With ws.Cells.Font .Name = "Arial" .Size = 12 End With With ws.Rows("1:1").Font .Size = 14 End With ' Настройка ширины столбцов и высоты строк для удобства чтения ws.Rows("1:1").RowHeight = 39 ws.Cells.Columns.AutoFit ' Увеличиваем счётчик отформатированных листов formattedSheets = formattedSheets + 1 End If End If Next ws ' Финальное сообщение MsgBox "Macro finished. " & formattedSheets & " worksheets were formatted." End Sub
Editor is loading...
Leave a Comment