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 для приложений окно, нажмите кнопку Вставка выпадающего списка на выберите сайт Новый модуль

Теперь, когда новый модуль это открыт , напишите там код и нажмите 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 в качестве Количество, .Диапазон(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 для каждой строки таблицы (добавление, перезапись, удаление и т. д.)

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

  • Вычисляемая сумма поля, разделенная на количество в таблице Pivot Table
  • Как проиллюстрировать относительное распределение частот в Excel
  • [Исправление] Невозможно сгруппировать даты в таблице Pivot: 4 возможных решения
  • Как рассчитать процентное частотное распределение в Excel (2 метода)
  • Таблица Pivot не обновляется (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 , в данном примере) и нажмите OK.

  • Затем подставьте значения для Дата заказа, название продукта, количество, и Цена за единицу в поля ввода что появлялись последовательно В данном примере мы использовали следующие значения 1/1/2022, Апельсин, 3, и 35.

  • В результате мы получили новый ряд с вставленные данные в дно из таблица .

Читать далее: Советы по форматированию таблиц Excel - измените внешний вид таблицы

Примечания

Когда мы добавлено a новый ряд с данные с помощью кода VBA формат и формулы получить проведено к новый ряд автоматически В нашем примере TotalPrice колонка выходы сайт продукт колонны Количество и Цена за единицу . Мы просто только вставленный сайт Количество и Значения цены за единицу продукции ; the новый ряд был вставлено с продукт из них два значения в Колонка "Общая цена".

Заключение

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

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