Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2013, 17:46   #1
ILF_ollie
Пользователь
 
Регистрация: 07.06.2010
Сообщений: 21
По умолчанию Макрос, форматирующий массив как таблицу

Добрый день.
Подскажите, пожалуйста, как нужно доработать макрос, чтобы он форматировал весь массив как таблицу, вне зависимости от количества строк и столбцов в массиве.
Вложения
Тип файла: zip DEMO_3.zip (10.1 Кб, 11 просмотров)
ILF_ollie вне форума Ответить с цитированием
Старый 05.04.2013, 09:44   #2
ILF_ollie
Пользователь
 
Регистрация: 07.06.2010
Сообщений: 21
По умолчанию

Попробую переформулировать.

Имеется массив данных, в котором может меняться количество строк и столбцов.
Массив всегда начинается в ячейке А1.

Нужен макрос, который будет форматировать весь массив как таблицу.

В составленном мной макросе диапазон задается жестко.
Подскажите, пожалуйста, как нужно доработать его, чтобы он мог выделять всю таблицу, вне зависимости от количества строк и столбцов в массиве.


Код:
Sub Macro4()
'
' Macro4 Macro
'

'
    Range("A1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$D$6"), , xlYes).Name = _
        "Table3"
    Range("Table3[#All]").Select
    ActiveSheet.ListObjects("Table3").TableStyle = "TableStyleLight8"
    ActiveSheet.ListObjects("Table3").Name = "SAP_import"
End Sub
ILF_ollie вне форума Ответить с цитированием
Старый 05.04.2013, 10:00   #3
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

попробуйте так:

Код:
Sub Frm()
  With ActiveSheet
    .ListObjects.Add(xlSrcRange, .[A1].Resize(.Cells(Rows.Count, 1).End(xlUp).Row, _
       .Cells(1, Columns.Count).End(xlToLeft).Column), , xlYes).Name = "SAP_import"
    .ListObjects("SAP_import").TableStyle = "TableStyleLight8"
  End With
End Sub
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Требуется макрос, дабавляющий строки в таблицу снизу SrgKord Фриланс 3 14.02.2013 21:27
Макрос преобразовывающий таблицу из Word в Excel Alisya Microsoft Office Excel 20 15.10.2011 13:16
макрос, который переворачивает таблицу Настя.Пенская Microsoft Office Excel 12 06.06.2011 20:03
макрос вывода данных в итоговую таблицу maragva Microsoft Office Excel 3 10.11.2010 18:16
макрос на копирование диапазонов из файлов в 1 таблицу, еженедельно luxard Microsoft Office Excel 1 25.10.2009 21:16