вечер добрый. в таблицу добавляются данные и макросами тоже, нашел вот такую вещ-применяет ко всей таблице форматы как в первой строке как понимаю... в макросах ноль- все методом научного тыка и вашей помощи, подскажите как вообще чтоб эта процедура запускалась что и где подправить.. [vba]
Код
Public Sub RepairTable( _ ByVal Table As ListObject _ ) ' Repair the Table's formatting and formulas by making them consistent down the ' entire length of each column. ' ' Syntax ' ' RepairTable(Table) ' ' Table - A Table object (ListObject object).
Dim RowCount As Long Dim ListColumn As ListColumn Dim ShowTotals As Boolean
RowCount = Table.ListRows.Count If RowCount < 2 Then Exit Sub
With Table ShowTotals = .ShowTotals .ShowTotals = False .Resize .HeaderRowRange.Resize(2) For Each ListColumn In .ListColumns With ListColumn.DataBodyRange.Resize( _ Application.Max(RowCount, 1)).Offset(1) If Left(.Rows(1).Formula, 1) = "=" Then .Cells.Clear Else .Cells.ClearFormats End If End With Next ListColumn .Resize .HeaderRowRange.Resize(1 + RowCount) .ShowTotals = ShowTotals End With
End Sub
[/vba]
вечер добрый. в таблицу добавляются данные и макросами тоже, нашел вот такую вещ-применяет ко всей таблице форматы как в первой строке как понимаю... в макросах ноль- все методом научного тыка и вашей помощи, подскажите как вообще чтоб эта процедура запускалась что и где подправить.. [vba]
Код
Public Sub RepairTable( _ ByVal Table As ListObject _ ) ' Repair the Table's formatting and formulas by making them consistent down the ' entire length of each column. ' ' Syntax ' ' RepairTable(Table) ' ' Table - A Table object (ListObject object).
Dim RowCount As Long Dim ListColumn As ListColumn Dim ShowTotals As Boolean
RowCount = Table.ListRows.Count If RowCount < 2 Then Exit Sub
With Table ShowTotals = .ShowTotals .ShowTotals = False .Resize .HeaderRowRange.Resize(2) For Each ListColumn In .ListColumns With ListColumn.DataBodyRange.Resize( _ Application.Max(RowCount, 1)).Offset(1) If Left(.Rows(1).Formula, 1) = "=" Then .Cells.Clear Else .Cells.ClearFormats End If End With Next ListColumn .Resize .HeaderRowRange.Resize(1 + RowCount) .ShowTotals = ShowTotals End With
описание процедуры процедура ниже выполняет это с помощью метода изменения размера Таблицы. Сначала Таблица изменяется, чтобы быть только одной строкой. Затем форматирование и формулы удаляются из всех строк таблицы от строки 2 до последней строки плюс одна строка. Наконец, диапазон Таблицы возвращается к тому, что было. На этом заключительном этапе Excel должен применить форматирование и формулы в первой строке ко всем строкам ниже первой строки. В результате получается последовательно отформатированная таблица, использующая первую строку данных в качестве шаблона для всех остальных строк. Код предполагает, что в Таблице есть по крайней мере одна строка данных
описание процедуры процедура ниже выполняет это с помощью метода изменения размера Таблицы. Сначала Таблица изменяется, чтобы быть только одной строкой. Затем форматирование и формулы удаляются из всех строк таблицы от строки 2 до последней строки плюс одна строка. Наконец, диапазон Таблицы возвращается к тому, что было. На этом заключительном этапе Excel должен применить форматирование и формулы в первой строке ко всем строкам ниже первой строки. В результате получается последовательно отформатированная таблица, использующая первую строку данных в качестве шаблона для всех остальных строк. Код предполагает, что в Таблице есть по крайней мере одна строка данныхExtybr
Pelena, подскажите...а если нужно чисто форматы присвоить как в первой стокее....не формулы на зачения и тд..а яисто формат....как подкорректировать.....данный макрос работакет но в книге есть макрос реагирующий на изменения в дипазонах в строках который их помечает в спец столбце... помечающий их начинает тормозить......
Pelena, подскажите...а если нужно чисто форматы присвоить как в первой стокее....не формулы на зачения и тд..а яисто формат....как подкорректировать.....данный макрос работакет но в книге есть макрос реагирующий на изменения в дипазонах в строках который их помечает в спец столбце... помечающий их начинает тормозить......Extybr