Excel VBA: Вмъкване на данни в таблица (4 примера)

  • Споделя Това
Hugh West

В тази статия ще илюстрираме как да вмъкнете данни в Excel таблица използване на VBA код . С помощта на вградените свойства и методи на Excel можем лесно да улесним функционалността за добавяне или презаписване на данни в таблица. Нека се потопим в примерите, за да разберем ясно методите заедно с VBA кодовете.

Изтегляне на работна тетрадка за практика

Изтеглете тази учебна тетрадка, за да се упражнявате, докато четете тази статия.

Вмъкване на данни в таблица.xlsm

4 примера за вмъкване на данни в таблица с помощта на 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. Надяваме се, че това ще ви помогне да използвате тези методи по-уверено. Ако имате въпроси или предложения, не забравяйте да ги поставите в полето за коментари по-долу.

Хю Уест е опитен обучител и анализатор на Excel с над 10 години опит в индустрията. Има бакалавърска степен по счетоводство и финанси и магистърска степен по бизнес администрация. Хю има страст към преподаването и е разработил уникален подход на преподаване, който е лесен за следване и разбиране. Неговите експертни познания по Excel са помогнали на хиляди студенти и професионалисти по целия свят да подобрят уменията си и да постигнат отлични резултати в кариерата си. Чрез своя блог Хю споделя знанията си със света, като предлага безплатни уроци за Excel и онлайн обучение, за да помогне на хората и фирмите да достигнат пълния си потенциал.