Зміст
У цій статті ми проілюструємо, як вставка дані в Excel таблиця використовуючи VBA код За допомогою вбудованих властивостей і методів Excel ми можемо полегшити функціональність додавання або перезапису даних в таблицю. Давайте зануримося в приклади, щоб отримати чітке уявлення про методи разом з кодами VBA.
Завантажити Практичний посібник
Завантажте цей практичний посібник, щоб потренуватися, поки ви читаєте цю статтю.
Вставка даних в таблицю Table.xlsm4 Приклади вставки даних у таблицю за допомогою VBA в Excel
Скажімо, у нас є список продажу магазину з такими деталями, як дата замовлення, назва товару, кількість, ціна за одиницю та загальна ціна.
Як створити таблицю в Excel
До черга в "Урядовому кур'єрі". набір даних в Таблиця в Excel зробіть наступне.
- Виберіть в "Урядовому кур'єрі". весь набір даних .
- Іди. до Вставка вкладки від Стрічка Excel .
- Натисніть на Таблиця варіант.
- Нарешті, натисніть кнопку Кнопка "ОК в Вікно Створення таблиці.
- Ми успішно перетворений в "Урядовому кур'єрі". набір даних в Таблиця в Excel .
Для вставки даних в таблицю Excel використаємо декілька Функції VBA і властивості в нашому код У наступному розділі описано, як відкритий і написання коду в візуальний базовий редактор.
Написання коду в редакторі Visual Basic
Слідкуйте за кроки до відкритий в "Урядовому кур'єрі". візуальний базовий редактор і написати там якийсь код.
- Перейдіть на сторінку Розробник на вкладці Стрічка Excel .
- Натисніть в "Урядовому кур'єрі". Варіант Visual Basic.
- В рамках проекту Visual Basic для додатків у вікні, натисніть кнопку Вставити випадаючий список до вибрати в "Урядовому кур'єрі". Новий модуль
Тепер, коли новий модуль це відкритий напишіть там якийсь код і натисніть F5 до тікай.
1. Вставка даних в останній рядок таблиці за допомогою VBA в Excel
У цьому прикладі ми використаємо VBA код на додавати a новий рядок на дно про таблиця а потім вставити дані У нашій таблиці ми маємо 4 ряди з дані Доповнити 5-й , копія і паста наступний код у редакторі візуального програмування Visual Basic.
Sub InsertDataIntoTable() Dim tableName As ListObject Set tableName = ActiveSheet.ListObjects("Table1") Dim addedRow As ListRow Set addedRow = tableName.ListRows.Add() With addedRow .Range(1) = "1/1/2022" .Range(2) = "Apple" .Range(3) = 5 .Range(4) = 1.77 End With End Sub
Натисніть F5 до біг в "Урядовому кур'єрі". код.
У нас є вставлений a новий рядок з дані на дно про існуюча таблиця .
Пояснення коду:
- У нашому коді ми використовували Об'єкт ListObjects з VBA Excel на захоплення в "Урядовому кур'єрі". таблиця з його ім'я Для отримання додаткової інформації, кожен про ListObject об'єктів - це таблиця на робочий аркуш Щоб отримати ім'я таблиці, клацнути на таблиця ">>; клацнути на Вкладка "Дизайн таблиці в Стрічка Excel.
- Потім ми використовували ListRows . Метод додавання щоб додати новий рядок в таблиця Це метод дублі два аргументу : Посада і AlwaysInsert .
Ввівши ціле число ми можемо вказати взаємне розташування про новий доданий рядок в таблиця У цьому прикладі ми залишено порожнім в "Урядовому кур'єрі". аргумент позиції як наслідок, в результаті чого новий рядок був додано на дно про таблиця .
- Нарешті, ми ввели дані в кожен про клітини з новостворених доданий рядок В даному випадку дані були .Range(1) = "1/1/2022" як OrderDate, .Range(2) = "Apple" як Product, .Range(3) = 5 як Кількість, .Range(4) = 1.77 як Ціна за одиницю.
Читати далі: Назва таблиці Excel: Все, що потрібно знати
2. Виконання коду VBA для вставки даних у певний рядок таблиці в Excel
На цій ілюстрації ми збираємося додати рядок даних на конкретний рядок відносно таблиці використовуючи той самий фрагмент коду, який ми використовували у вищенаведеному прикладі. У цьому випадку нам потрібно лише вказати в "Урядовому кур'єрі". Аргумент позиції про Метод ListRows.Add в нашому коді. Скажімо, ми хочемо додати дані про продаж для Помаранчевий з подробицями в рядок № 3 відносний до існуюча таблиця Щоб це сталося, копія і паста наступне код у візуальний редактор коду.
Sub InsertDataIntoTable() Dim tableName As ListObject Set tableName = ActiveSheet.ListObjects("Table1") Dim addedRow As ListRow Set addedRow = tableName.ListRows.Add(3) With addedRow .Range(1) = "1/1/2022" .Range(2) = "Orange" .Range(3) = 3 .Range(4) = 2.14 End With End Sub
Запуск коду за допомогою натискання F5 вставлено в "Урядовому кур'єрі". дані про продажі за "Помаранчеву" в 3-й рядок відносно таблиці .
Читати далі: Код Excel VBA для кожного рядка таблиці (додавання, перезапис, видалення і т.д.)
Схожі читання
- Розрахована сума полів, поділена на кількість у зведеній таблиці
- Як проілюструвати відносний розподіл частот в Excel
- [Виправлено] Неможливо згрупувати дати у зведеній таблиці: 4 можливих рішення
- Як розрахувати відсотковий розподіл частот в Excel (2 способи)
- Зведена таблиця не освіжає (5 проблем та шляхи їх вирішення)
3. Вставка та перезапис даних у таблицю засобами VBA в Excel
Тут ми проілюструємо, як можна перезаписати в "Урядовому кур'єрі". існуючі дані в таблиця замість з вставка a новий рядок з дані Для цього нам потрібно скористатися Властивість ListObject.ListRows Excel натомість про Властивість ListRows.Add ми використовували раніше "У нас тут є Властивість ListObject.ListRows також приймає номер рядка ( Ціле число значення ) в якості свого аргумент Скажімо, ми хочемо зміна в "Урядовому кур'єрі". ціна за одиницю про Помаранчевий з 2,14 до 2,35 що ми вставлений в попередній приклад . Прийом. і паста наступний код у редакторі візуального програмування Visual Basic.
Sub InsertDataIntoTable() Dim tableName As ListObject Set tableName = ActiveSheet.ListObjects("Table1") Dim addedRow As ListRow Set addedRow = tableName.ListRows(3) With addedRow .Range(1) = "1/1/2022" .Range(2) = "Orange" .Range(3) = 3 .Range(4) = 2.35 End With End Sub
У нашому кодексі, ми набір в "Урядовому кур'єрі". аргумент для Властивість ListObject.ListRows як 3 де дані для Помаранчевий належить Біжи! в "Урядовому кур'єрі". код натиснувши на кнопку F5 і подивіться різниця .
Кодекс має змінений тільки в ціна за одиницю про дані на рядок № 3 відносний до таблиця .
Читати далі: Як вставити або видалити рядки та стовпці з таблиці Excel
4. Виконання коду VBA для вставки даних у таблицю Excel на основі даних, введених користувачем
У цьому прикладі ми збираємося вставка в "Урядовому кур'єрі". назва таблиці і деталі продажу про те, що продукт як введення користувачем замість того, щоб секретний код це в Код VBA кожен раз Для цього дотримуйтесь наведених нижче інструкцій.
- Прийом. і паста у візуальний редактор коду наступний код.
Sub InsertDataIntoTable() Dim tableName As ListObject Dim A, B, C, D, tName As String tName = Application.InputBox(Prompt:="Назва таблиці: ", Type:=2) A = Application.InputBox(Prompt:="Дата замовлення: ", Type:=2) B = Application.InputBox(Prompt:="Найменування товару: ", Type:=2) C = Application.InputBox(Prompt:="Кількість: ", Type:=2) D = Application.InputBox(Prompt:="Ціна за одиницю: ",Type:=2) Set tableName = ActiveSheet.ListObjects(tName) Dim addedRow As ListRow Set addedRow = tableName.ListRows.Add() With addedRow .Range(1) = A .Range(2) = B .Range(3) = C .Range(4) = D End With End Sub
- Преса F5 до біг код.
- Поставити в "Урядовому кур'єрі". ім'я про таблиця в поле введення ( Таблиця 1 в цьому прикладі) і натиснути ГАРАЗД.
- Потім введіть значення для Дата замовлення, назва товару, кількість, і Ціна за одиницю в поля введення що з'явилися послідовно У цьому прикладі ми використовували такі значення 1/1/2022, Помаранчева, 3, і 35.
- В результаті маємо новий рядок з вставлені дані на дно про таблиця .
Читати далі: Поради щодо форматування таблиць Excel - зміна зовнішнього вигляду таблиці
Примітки
Коли ми додано a новий рядок з дані за допомогою коду VBA, було реалізовано формат і формули отримувати перевезений до новий рядок автоматично У нашому прикладі - це TotalPrice колонка результати в "Урядовому кур'єрі". продукт колонок Кількість і Ціна за одиницю Ми просто вставляється тільки в "Урядовому кур'єрі". Кількість і Значення ціни за одиницю продукції ; the новий рядок був вставлений з продукт з них два значення в Колонка "Загальна ціна".
Висновок
Тепер ми знаємо, як вставити дані в таблицю Excel за допомогою коду VBA. Сподіваємося, це допоможе вам більш впевнено користуватися цими методами. Якщо у вас виникнуть питання або пропозиції, не забувайте залишати їх у полі для коментарів нижче.