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

Вход

Регистрация

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

 

= Мир MS Excel/формат ячеек таблицы как в первой строке - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » формат ячеек таблицы как в первой строке (Макросы/Sub)
формат ячеек таблицы как в первой строке
Extybr Дата: Среда, 31.03.2021, 22:57 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 120
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
вечер добрый. в таблицу добавляются данные и макросами тоже, нашел вот такую вещ-применяет ко всей таблице форматы как в первой строке как понимаю...
в макросах ноль- все методом научного тыка и вашей помощи, подскажите как вообще чтоб эта процедура запускалась что и где подправить..
[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]
К сообщению приложен файл: 4416327.xlsm (15.1 Kb)


Сообщение отредактировал Extybr - Среда, 31.03.2021, 23:00
 
Ответить
Сообщениевечер добрый. в таблицу добавляются данные и макросами тоже, нашел вот такую вещ-применяет ко всей таблице форматы как в первой строке как понимаю...
в макросах ноль- все методом научного тыка и вашей помощи, подскажите как вообще чтоб эта процедура запускалась что и где подправить..
[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]

Автор - Extybr
Дата добавления - 31.03.2021 в 22:57
Extybr Дата: Среда, 31.03.2021, 23:09 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 120
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
описание процедуры
процедура ниже выполняет это с помощью метода изменения размера Таблицы. Сначала Таблица изменяется, чтобы быть только одной строкой. Затем форматирование и формулы удаляются из всех строк таблицы от строки 2 до последней строки плюс одна строка. Наконец, диапазон Таблицы возвращается к тому, что было. На этом заключительном этапе Excel должен применить форматирование и формулы в первой строке ко всем строкам ниже первой строки. В результате получается последовательно отформатированная таблица, использующая первую строку данных в качестве шаблона для всех остальных строк. Код предполагает, что в Таблице есть по крайней мере одна строка данных
 
Ответить
Сообщениеописание процедуры
процедура ниже выполняет это с помощью метода изменения размера Таблицы. Сначала Таблица изменяется, чтобы быть только одной строкой. Затем форматирование и формулы удаляются из всех строк таблицы от строки 2 до последней строки плюс одна строка. Наконец, диапазон Таблицы возвращается к тому, что было. На этом заключительном этапе Excel должен применить форматирование и формулы в первой строке ко всем строкам ниже первой строки. В результате получается последовательно отформатированная таблица, использующая первую строку данных в качестве шаблона для всех остальных строк. Код предполагает, что в Таблице есть по крайней мере одна строка данных

Автор - Extybr
Дата добавления - 31.03.2021 в 23:09
Pelena Дата: Четверг, 01.04.2021, 09:39 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 19176
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
Тут ничего не надо поправлять.
Запускается макрос с аргументом в виде обрабатываемой таблицы. Что-то вроде
[vba]
Код
Public Sub Repair()
    Dim oTbl As ListObject
    Set oTbl = Sheets("Лист2").ListObjects("Таблица3")
    Call RepairTable(oTbl)
End Sub
[/vba]
К сообщению приложен файл: 0628185.xlsm (18.9 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Тут ничего не надо поправлять.
Запускается макрос с аргументом в виде обрабатываемой таблицы. Что-то вроде
[vba]
Код
Public Sub Repair()
    Dim oTbl As ListObject
    Set oTbl = Sheets("Лист2").ListObjects("Таблица3")
    Call RepairTable(oTbl)
End Sub
[/vba]

Автор - Pelena
Дата добавления - 01.04.2021 в 09:39
Extybr Дата: Четверг, 01.04.2021, 17:59 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 120
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Pelena, спасибо. все класс!
 
Ответить
СообщениеPelena, спасибо. все класс!

Автор - Extybr
Дата добавления - 01.04.2021 в 17:59
Extybr Дата: Суббота, 03.04.2021, 23:32 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 120
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Pelena, подскажите...а если нужно чисто форматы присвоить как в первой стокее....не формулы на зачения и тд..а яисто формат....как подкорректировать.....данный макрос работакет но в книге есть макрос реагирующий на изменения в дипазонах в строках который их помечает в спец столбце... помечающий их начинает тормозить......
 
Ответить
СообщениеPelena, подскажите...а если нужно чисто форматы присвоить как в первой стокее....не формулы на зачения и тд..а яисто формат....как подкорректировать.....данный макрос работакет но в книге есть макрос реагирующий на изменения в дипазонах в строках который их помечает в спец столбце... помечающий их начинает тормозить......

Автор - Extybr
Дата добавления - 03.04.2021 в 23:32
Мир MS Excel » Вопросы и решения » Вопросы по VBA » формат ячеек таблицы как в первой строке (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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