Съдържание
В тази статия ще илюстрираме как да вмъкнете данни в Excel таблица използване на VBA код . С помощта на вградените свойства и методи на Excel можем лесно да улесним функционалността за добавяне или презаписване на данни в таблица. Нека се потопим в примерите, за да разберем ясно методите заедно с VBA кодовете.
Изтегляне на работна тетрадка за практика
Изтеглете тази учебна тетрадка, за да се упражнявате, докато четете тази статия.
Вмъкване на данни в таблица.xlsm4 примера за вмъкване на данни в таблица с помощта на VBA в Excel
Да речем, че имаме списък за продажба на магазина с подробности като дата на поръчката, име на продукта, количество, единична цена и обща цена.
Как да създадете таблица в Excel
За завъртете на набор от данни в Таблица на Excel , направете следното.
- Изберете на целия набор от данни .
- Отидете на към Таб Вмъкване от Лентата на Excel .
- Кликнете върху на Таблица опция.
- Накрая щракнете върху Бутон OK в Прозорец Създаване на таблица.
- Ние успешно конвертиран на набор от данни в Таблица на Excel .
За да вмъкнем данни в таблица на Excel, ще използваме няколко Функции VBA и имоти в нашия код . В следващия раздел е описано как да отворен и записване на код в редактор на Visual Basic.
Напишете код в редактора на Visual Basic
Следвайте стъпки към отворен на визуален основен редактор и да напишете малко код там.
- Отидете в Разработчик от раздела Лентата на Excel .
- Кликнете върху на Опция за Visual Basic.
- В Visual Basic за приложения щракнете върху прозореца Вмъкване на падащо меню към изберете на Нов модул
Сега, когато a нов модул е отворен , напишете там някакъв код и натиснете 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 . Добавяне на метод да добавите нов ред в таблица . това метод взема два аргумента : Позиция и ВинагиВмъкнете .
С въвеждането на цяло число , можем да посочим относителна позиция на новодобавен ред в таблица В този пример оставена празна на аргумент за позиция , в резултат на което нов ред е добавен в дъно на таблица .
- Накрая задаваме данни в всеки на клетки на новите добавен ред В този случай данните са .Range(1) = "1/1/2022" като OrderDate, .Range(2) = "Apple" като Продукт, .Range(3) = 5 като Количество, .Range(4) = 1,77 като Единична цена.
Прочетете още: Име на таблица в Excel: всичко, което трябва да знаете
2. Изпълнение на код VBA за вмъкване на данни в определен ред на таблица в Excel
В тази илюстрация ще използваме добавяне на ред с данни в конкретен ред спрямо таблицата като използваме същата част от кода, която използвахме в горния пример. В този случай трябва само да посочете на Аргумент за позиция на Метод ListRows.Add в нашия код. Да речем, че искаме да добавяне на данни за продажба за Orange с подробности в ред номер 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 вмъкна на данни за продажба за Orange в 3-ти ред спрямо таблицата .
Прочетете още: Код на Excel VBA за всеки ред в таблица (добавяне, презаписване, изтриване и др.)
Подобни четива
- Изчислена сума на полето, разделена на броя в таблица Pivot
- Как да илюстрираме относителното разпределение на честотата в Excel
- [Поправка] Не може да се групират дати в таблица Pivot: 4 възможни решения
- Как да изчислим процентното разпределение на честотата в Excel (2 метода)
- Таблицата на завъртане не се опреснява (5 проблема & Решения)
3. Вмъкване и презаписване на данни в таблица с помощта на VBA в Excel
Тук ще илюстрираме как да презаписване на на съществуващи данни в таблица вместо това на вмъкване на a нов ред на данни За да направим това, трябва да използваме Свойство ListObject.ListRows на Excel вместо на Собственост ListRows.Add използвахме по-рано . Свойство ListObject.ListRows също така взема номер на реда ( Цели числа стойност ) като негов аргумент Да кажем, че искаме да промяна на единична цена на Orange от 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 където данни за Orange принадлежи към . на код като натиснете 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, Orange, 3, и 35.
- В резултат на това имаме нов ред с вмъкнати данни в дъно на таблица .
Прочетете още: Съвети за форматиране на таблици в Excel - промяна на вида на таблицата
Бележки
Когато добавен a нов ред с данни с помощта на код VBA. формат , и формули получавате извършва към нов ред автоматично В нашия пример TotalPrice колона изходи на продукт на колоните Количество , и Единична цена . Ние просто само вмъкнати на Количество и Стойности на единичната цена ; нов ред беше вмъкнат с продукт на тези две стойности в Колона "Обща цена".
Заключение
Сега вече знаем как да вмъкнем данни в таблица на Excel с помощта на код VBA. Надяваме се, че това ще ви помогне да използвате тези методи по-уверено. Ако имате въпроси или предложения, не забравяйте да ги поставите в полето за коментари по-долу.