Excel VBA для создания таблицы из диапазона (6 примеров)

  • Поделись Этим
Hugh West

Во время работы с Microsoft Excel И преобразование этих диапазонов данных в таблицу - одна из самых лучших возможностей. Таблицы Excel позволяют нам быстро сортировать и фильтровать данные, добавлять новые записи, мгновенно обновлять диаграммы и PivotTables. И Excel VBA помогает пользователю настраивать приложение с помощью простых кодов. В этой статье мы рассмотрим некоторые примеры Excel VBA для создания таблицы из диапазона.

Скачать Практическое пособие

Вы можете скачать рабочую тетрадь и потренироваться с ними.

Создание таблицы из диапазона.xlsm

6 примеров Excel VBA для создания таблицы из диапазона

Таблицы начинались как списки в версии меню Excel, но их функциональность выросла в ленточных вариантах. Преобразование диапазона данных в таблицу расширяет возможности, позволяя работать быстрее и проще. преобразовать диапазон в таблицу используя VBA это самый простой способ, чем использование ленты.

Предположим, у нас есть простой набор данных, который содержит несколько элементов в столбце B количество этих товаров в колонке C , и общий объем продаж по каждому товару в столбце D Теперь мы хотим преобразовать диапазон данных в таблицу. Давайте продемонстрируем различные примеры и пошаговые инструкции по созданию таблицы из диапазона. B4:D9 с помощью Excel VBA.

Используйте ListObjects.Add чтобы превратить диапазон в таблицу Excel. Объект Spreadsheet имеет характеристику ListObjects . ListObjects есть техника, которая называется Добавить . Критерии для .Добавить следующие.

выражение .Add(SourceType, Source, LinkSource, HasHeaders, Destination)

И, используйте SourceType xlSrcRange .

1. Excel VBA для создания таблицы из диапазона

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

ШАГИ:

  • Во-первых, зайдите в Разработчик на вкладке ленты.
  • Во-вторых, из Код категорию, нажмите на Visual Basic чтобы открыть Редактор Visual Basic Или нажмите Alt + F11 чтобы открыть Редактор Visual Basic .
  • Вместо этого вы можете просто щелкнуть правой кнопкой мыши на своем рабочем листе и перейти к пункту Посмотреть код Это также приведет вас к Редактор Visual Basic .

  • Это появится в Редактор Visual Basic где мы напишем наши коды для создания таблицы из диапазона.
  • В-третьих, нажмите на Модуль из Вставка выпадающая строка меню.

  • Это позволит создать Модуль в вашей рабочей тетради.
  • И, скопируйте и вставьте VBA код, показанный ниже.

Код VBA:

 Sub Create_Table() Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Table1" End Sub 
  • После этого запустите код, нажав на кнопку RubSub или нажав комбинацию клавиш F5 .

Вам не нужно менять код. Все, что вы можете сделать, это просто изменить диапазон в соответствии с вашими требованиями.

  • И, наконец, следующие шаги позволят создать таблицу из диапазона B4:D9 .

Объяснение кода VBA

 Sub Create_Table() 

Sub это часть кода, которая используется для обработки работы в коде, но не возвращает никакого значения. Она также известна как подпроцедура. Поэтому мы называем нашу процедуру Create_Table() .

 Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Table1" 

Это основная строка кода, с помощью которой диапазон преобразуется в таблицу. Как мы уже знаем, что ListObjects.Add чтобы превратить диапазон в таблицу Excel. И мы используем xlSrcRange как тип источника. Кроме того, мы объявляем наш диапазон Range("B4:D9") И, наконец, назовем нашу таблицу так Таблица1 .

 End Sub 

На этом процедура будет завершена.

Читать далее: Как обновить диапазон таблицы Pivot (5 подходящих методов)

2. Построение таблицы из диапазона с помощью Excel VBA

Рассмотрим еще один пример построения таблицы из диапазона с помощью Excel VBA.

ШАГИ:

  • Сначала зайдите в Разработайте вкладку r на ленте.
  • Во-вторых, нажмите на Visual Basic чтобы открыть Редактор Visual Basic .
  • Другой способ открыть Редактор Visual Basic это просто нажать Alt + F11 .
  • Или щелкните правой кнопкой мыши на листе, затем выберите Посмотреть код .
  • Далее, перейдите к Вставка и выберите Модуль из выпадающего меню.
  • Откроется окно visual basic.
  • После этого скопируйте и вставьте код VBA ниже.

Код VBA:

 Sub Generate_Table() Dim tb2 As Range Dim wsht As Worksheet Set tb2 = Range("B4").CurrentRegion Set wsht = ActiveSheet ws.ListObjects.Add(SourceType:=xlSrcRange, Source:=tb2).Name = "Table2" End Sub 
  • Далее нажмите кнопку клавиша F5 или нажмите на Run Sub чтобы запустить код.

  • И вы получите результат, показанный на рисунке Метод 1 .

Объяснение кода VBA

 Dim tb2 As Range Dim wsht As Worksheet 

Сайт DIM заявление в VBA относится к " заявить, " и он должен использоваться для объявления переменной. Итак, мы объявляем наш диапазон как tb2 и рабочий лист к ws .

 Set tb2 = Range("B4").CurrentRegion Set wsht = ActiveSheet 

VBA Set просто позволяет нам избежать необходимости вводить диапазон, который нам нужно выбрать, снова и снова при выполнении кода. Итак, мы установили наш диапазон на текущую область, а наш рабочий лист - на активный рабочий лист.

 wsht.ListObjects.Add(SourceType:=xlSrcRange, Source:=tb2).Name = "Table2" 

С помощью этой строки кода мы создаем таблицу из диапазона и называем нашу таблицу Таблица2 .

Читать далее: Как использовать таблицу Excel с помощью VBA (9 возможных способов)

3. Создание таблицы из диапазона с помощью VBA в Excel

Рассмотрим еще один пример использования Excel VBA для создания таблицы из диапазона.

ШАГИ:

  • Для начала выделите весь диапазон, который вы хотите преобразовать в таблицу.
  • Во-вторых, нажмите кнопку Разработчик на вкладке ленты.
  • В-третьих, запустите Редактор Visual Basic нажав на Visual Basic .
  • В качестве альтернативы вы можете обратиться к Редактор Visual Basic нажав Alt + F11 .
  • Или, щелкните правой кнопкой мыши на листе и выберите Посмотреть код из меню.
  • Далее выберите Модуль из выпадающего списка под Вставка .
  • Появится окно visual basic.
  • Напишите код там.

Код VBA:

 Sub Create_Table3() Dim r As Range Dim wsht As Worksheet Dim tb3 As ListObject Set r = Selection.CurrentRegion Set wsht = ActiveSheet Set tb3 = wsht.ListObjects.Add(SourceType:=xlSrcRange, Source:=r, XlListObjecthasheaders:=x1Yes) End Sub 
  • Наконец, нажмите кнопку клавиша F5 чтобы запустить код.

  • В результате будет создана таблица из диапазона данных, как мы получили в Метод 1 .

Читать далее: Как создать таблицу в Excel (с настройкой)

Похожие чтения

  • Вычисляемая сумма поля, разделенная на количество в таблице Pivot Table
  • Как проиллюстрировать относительное распределение частот в Excel
  • Группировка таблиц Excel Pivot Table по неделям (3 подходящих примера)
  • [Исправление] Невозможно сгруппировать даты в таблице Pivot: 4 возможных решения
  • Как составить амортизационную таблицу в Excel (4 метода)

4. Применение VBA для создания динамической таблицы из диапазона

Рассмотрим еще один способ создания таблицы из диапазона с помощью Excel VBA.

ШАГИ:

  • Для начала откройте ленту и выберите пункт Разработчик вариант.
  • Затем, чтобы получить доступ к Редактор Visual Basic , нажмите на Visual Basic .
  • Нажав на Alt + F11 также вызовет Редактор Visual Basic .
  • В качестве альтернативы, щелкните правой кнопкой мыши лист и выберите Посмотреть код из появившегося меню.
  • Теперь из Вставка выпадающий вариант, выберите Модуль .
  • Затем скопируйте и вставьте VBA код, который следует далее.

Код VBA:

 Sub Create_Dynamic_Table1() Dim tbOb As ListObject Dim TblRng As Range With Sheets("Example4") lLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row lLastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn)) Set tbOb = .ListObjects.Add(xlSrcRange, TblRng, , xlYes) tbOb.Name = "DynamicTable1" tbOb.TableStyle = "TableStyleMedium14" End With EndSub 
  • Запустите код, нажав кнопку F5 ключ.

  • Как показано в Метод 1 'иллюстрации, стол будет построен из полигона.

Объяснение кода VBA

 Sub Create_Dynamic_Table1() 

В этой строке указывается имя подпроцедуры.

 Dim tbOb As ListObject Dim TblRng As Range 

Эта двухстрочная строка используется для объявления переменных.

 With Sheets("Example4") 

Сайт С заявлением позволяет вам выполнять последовательность утверждений на одном объекте без необходимости переквалификации имени объекта. Итак, мы заключаем в корпус команду С заявление с именем листа.

 lLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row lLastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column 

Они нужны для того, чтобы найти последнюю строку и последний столбец.

 Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn)) 

Диапазон для создания таблицы.

 Set tbOb = .ListObjects.Add(xlSrcRange, TblRng, , xlYes) 

Создайте таблицу в указанном выше диапазоне.

 tbOb.Name = "DynamicTable1" 

Указание имени таблицы

 tbOb.TableStyle = "TableStyleMedium14" 

Укажите стиль таблицы.

Читать далее: Создание таблицы в Excel с помощью ярлыка (8 методов)

5. Создание динамической таблицы из диапазона

Теперь рассмотрим другой метод Excel VBA для создания таблицы из диапазона.

ШАГИ:

  • Для начала откройте ленту и выберите Разработчик из выпадающего меню.
  • Затем выберите Visual Basic чтобы открыть Редактор Visual Basic .
  • Сайт Редактор Visual Basic можно также получить, нажав кнопку Alt + F11 .
  • В качестве альтернативы вы можете щелкните правой кнопкой мыши лист и выберите Посмотреть код из всплывающего меню.
  • После этого выберите Модуль из Вставка выпадающее меню.
  • Затем скопируйте и вставьте следующий код VBA.

Код VBA:

 Sub Create_Dynamic_Table2() Dim tbObj As ListObject Dim TblRng As Range With Sheets("Example5") .Range("A1").Select Selection.CurrentRegion.Select Set tbObj = .ListObjects.Add(xlSrcRange, Selection, , xlYes) tbObj.Name = "DynamicTable2" tbObj.TableStyle = "TableStyleMedium15" End With End Sub 
  • Наконец, запустите код, нажав кнопку F5 на клавиатуре, и вы видите результат в своем рабочем листе.

  • И, как показано в Метод 1 'иллюстрации, таблица будет построена из диапазона.

Читать далее: Как придать таблицам Excel привлекательный вид (8 эффективных советов)

6. использование Excel VBA для построения динамической таблицы

Давайте рассмотрим еще один способ Excel VBA для построения таблицы из диапазона.

ШАГИ:

  • Вначале перейдите к Разработчик вкладка> Visual Basic > Вставка > Модуль .
  • Или, щелкнув правой кнопкой мыши на на рабочем листе откроется окно. Оттуда перейдите к пункту Посмотреть код .
  • И это приведет вас к Редактор Visual Basic поле, в котором мы можем написать макросы VBA.
  • С другой стороны, нажатие кнопки Alt + F11 также откроет Редактор Visual Basic .
  • После этого введите VBA код.

Код VBA:

 Sub Create_Dynamic_Table3() Dim tableObj As ListObject Dim TblRng As Range With Sheets("Example6") lLastRow = .UsedRange.Rows.Count lLastColumn = .UsedRange.Columns.Count Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn)) Set tableObj = .ListObjects.Add(xlSrcRange, TblRng, , xlYes) tableObj.Name = "DynamicTable3" tableObj.TableStyle = "TableStyleMedium16" End With End Sub End Sub 
  • И запустите код, чтобы увидеть результат, нажав кнопку клавиша F5 .

  • И, таблица будет создана из диапазона, как показано на рисунке Метод 1 .

Читать далее: Как создать таблицу в Excel с данными (5 способов)

Заключение

Приведенные выше методы помогут вам создать таблицу из диапазона в Excel. Надеемся, это поможет вам! Если у вас есть вопросы, предложения или отзывы, пожалуйста, сообщите нам об этом в разделе комментариев. Вы также можете посмотреть другие наши статьи в разделе ExcelWIKI.com блог!

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.