Створення таблиці в Excel VBA з діапазону (6 прикладів)

  • Поділитися Цим
Hugh West

Під час роботи з Microsoft Excel І перетворення цих діапазонів даних у таблицю є одним з найкращих варіантів. Таблиці Excel дозволяють нам швидко сортувати та фільтрувати дані, додавати нові записи, миттєво оновлювати діаграми та зведені таблиці. Excel VBA допомагає користувачеві налаштувати додаток за допомогою декількох простих кодів. У цій статті ми розглянемо деякі приклади Excel VBA для створення таблиці з діапазону.

Завантажити Практичний посібник

Ви можете завантажити робочий зошит та потренуватися за ним.

Створення таблиці з файлу Range.xlsm

6 Приклади Excel VBA для створення таблиці з діапазону

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

Припустимо, у нас є простий набір даних, який містить деякі елементи у стовпчику B кількість цих позицій у колонці C та загальний обсяг продажів по кожній позиції у стовпчику D Тепер ми хочемо перетворити діапазон даних в таблицю. Продемонструємо різні приклади і покрокові інструкції по створенню таблиці з діапазону B4:D9 за допомогою Excel VBA.

Використання ListObjects.Add перетворити діапазон в таблицю Excel. Об'єкт "Електронна таблиця" має характеристику ListObjects . ListObjects є методика, яка називається Додати Критерії для визначення .додати полягають у наступному.

вираз .Add(ТипСистеми, Джерело, ДжерелоПосилання, МаєГоловки,Призначення)

І, використовуйте тип SourceType xlSrcRange .

1. Excel VBA для створення таблиці з діапазону

З Excel VBA користувачі можуть легко скористатися кодом, який виконує роль ексель-меню зі стрічки. Для того, щоб скористатися 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 це частина коду, яка використовується для обробки роботи в коді, але не повертає ніякого значення. Вона також відома як підпроцедура. Отже, назвемо нашу процедуру Створити_таблицю() .

 Лист1.СписокОб'єктів.Додати(xlSrcRange, Range("B4:D9"), , xlYes).Назва = "Таблиця1" 

Це основний рядок коду, за допомогою якого діапазон перетворюється у вигляді таблиці. Як ми вже знаємо, що ListObjects.Add щоб перетворити діапазон в таблицю Excel. І ми використовуємо xlSrcRange як тип джерела. Також ми декларуємо наш асортимент Range("B4:D9") І, нарешті, назвемо наш стіл Таблиця 1 .

 End Sub 

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

Читати далі: Як оновити діапазон зведеної таблиці (5 способів)

2. створення таблиці з діапазону засобами Excel VBA

Розглянемо ще один приклад побудови таблиці з діапазону засобами Excel VBA.

КРОКИ:

  • По-перше, зайдіть на сайт Розвивати r вкладку зі стрічки.
  • По-друге, натисніть на Visual Basic для відкриття Редактор Visual Basic .
  • Ще один спосіб відкрити Редактор Visual Basic це просто натиснути Alt + F11 .
  • Або натисніть правою кнопкою миші на аркуші, потім виберіть Переглянути код .
  • Далі перейдіть за посиланням Вставка та оберіть Модуль з випадаючого меню.
  • І, це відкриє вікно візуального базового програмування.
  • Після цього скопіюйте та вставте 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 або натисніть на кнопку Запустити заміну для запуску коду.

  • І, ви отримаєте результат, як показано в Спосіб 1 .

Пояснення коду VBA

 Dim tb2 Як діапазон Dim wsht Як аркуш 

На сьогоднішній день, на жаль, це не так. 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 .
  • Або, клацніть правою кнопкою миші на аркуші та оберіть Переглянути код з меню.
  • Далі оберіть пункт Модуль з випадаючого списку під Вставка .
  • І з'явиться вікно візуального редактора.
  • Впишіть туди код.

Код 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 (з налаштуванням)

Схожі читання

  • Розрахована сума полів, поділена на кількість у зведеній таблиці
  • Як проілюструвати відносний розподіл частот в Excel
  • Зведена таблиця Excel Групування по тижнях (3 приклади)
  • [Виправлено] Неможливо згрупувати дати у зведеній таблиці: 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 = .ListObject.Add(xlSrcRange, TblRng, , xlYes) tableObj.Name = "DynamicTable3" tableObj.TableStyle = "TableStyleMedium16" End With End Sub 
  • І, щоб побачити результат, запустіть код, натиснувши на кнопку клавіша F5 .

  • Причому, таблиця буде створена з діапазону як показано на малюнку Спосіб 1 .

Читати далі: Як створити таблицю в Excel з даними (5 способів)

Висновок

Наведені вище методи допоможуть вам створити таблицю з діапазону в Excel. Сподіваюся, це допоможе вам! Якщо у вас виникли запитання, пропозиції чи відгуки, будь ласка, повідомте нам у розділі коментарів. Або ви можете переглянути інші наші статті в розділі ExcelWIKI.com блог!

Г’ю Вест — досвідчений тренер і аналітик Excel із понад 10-річним досвідом роботи в галузі. Він має ступінь бакалавра з бухгалтерського обліку та фінансів і ступінь магістра з ділового адміністрування. Г’ю має пристрасть до викладання та розробив унікальний підхід до викладання, який легко зрозуміти та дотримуватися. Його експертне знання Excel допомогло тисячам студентів і професіоналів у всьому світі вдосконалити свої навички та досягти успіху в кар’єрі. У своєму блозі Г’ю ділиться своїми знаннями зі світом, пропонуючи безкоштовні навчальні посібники з Excel та онлайн-навчання, щоб допомогти окремим особам і компаніям повністю розкрити свій потенціал.