Работа с элементами “умной” таблицы через объект ListObjects

В данной статье мы разберем более подробно объект ListObjects, а также познакомимся с элементами “умной” таблицы.

Итак, объект ListObjects представляет собой коллекцию всех объектов ListObject на листе, в свою очередь каждый объект ListObject представляет таблицу на листе. Как мы знаем, таблица состоит из строк, столбцов, которые в свою очередь состоят из отдельных ячеек. Если необходимо сослаться на какую-либо ячейку обычного диапазона данных, то применяют объект Range, в который передают адрес ячейки. Но что, если на одном листе очень много небольших таблиц и, для решения задачи, достаточно использовать одну или несколько таблиц? Конечно, старый-добрый объект Range прекрасно справится с такой задачей, но такой способ, более ресурсоёмкий, нежели использование объекта ListObjects.

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

Таблица Excel
Таблица Excel
ListObjects(“Таблица1”).Range.Select
Таблица Excel
ListObjects(“Таблица1”).DataBodyRange.Select
Таблица Excel
ListObjects(“Таблица1”).TotalsRowRange.Select
Таблица Excel
ListObjects(“Таблица1”).ListRows(4).Range.Select
Таблица Excel
ListObjects(“Таблица1”).ListColumns(2).Range.Select
Таблица Excel
ListObjects(“Таблица1”).HeaderRowRange(2).Select

Ниже будут представлены строки кода в качестве примера.

Dim table ListObject Worksheet
Set table = ActiveSheet.ListObjects("Сумма_заказов")
MsgBox table.DataBodyRange(3, 2).Value 'выводим значение таблице в 3 строке и 2 столбце
table.Range.Select 'выделяем диапазон таблицы с заготолвками и итоговой строкой
table.ListColumns(2).DataBodyRange.Select 'выделяем второй столбец без заголовка и без итогового значения
table.ListRows(4).Range.Select 'выделяем 4ую строку (не включая заголовок!)
table.ListColumns.Add Position:=1 'добавляем первый столбец
table.ListRows.Add (5'добавляем строку под номером 5 (без учета заголовка)
table.ListRows(5).Delete 'удаляем строку под номером 5 (без учета заголовка)
table.ListColumns(1).Delete 'удаляем столбец под номером 1

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 4 / 5. Количество оценок: 3

Оценок пока нет. Поставьте оценку первым.

Добавить комментарий