GreyStyle2AllTables
Конвертирует все таблицы в файле серый стильuser_2065311
vbscript
a year ago
3.0 kB
3
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