Excel VBA для копирования строк в другой рабочий лист на основе критериев

  • Поделись Этим
Hugh West

Данные по преодолению Если у вас много строк и вы хотите скопировать их на другой лист на основе некоторых критериев, это может быть довольно утомительно и отнимать много времени. Но с Microsoft Приложение Visual Basic (VBA) вы можете создавать макросы, с помощью которых вы можете легко копировать данные с одного листа на другой на основе различных критериев. В этой статье я покажу вам как можно копировать строки в другой рабочий лист на основе 2 различных типов критериев с помощью Excel VBA .

Допустим, у вас есть следующий набор данных в рабочем листе с именем " Данные ", где указаны продажи и области продаж разных продавцов. Теперь вы хотите скопировать определенные строки на основе некоторых критериев в другой лист.

Скачать Рабочую тетрадь для практических занятий

Копирование строк в другой рабочий лист на основе критериев.xlsm

2 способа копирования строк в другой рабочий лист на основе критериев с помощью Excel VBA

1. копирование строк в другой рабочий лист на основе текстовых критериев

В этой демонстрации я покажу вам, как копировать строки из одного рабочего листа в другой на основе текстовых критериев. Предположим, вы хотите скопировать данные о продавцах, которые продают в Вирджиния в рабочем листе с именем Региональные продажи использование Excel VBA Чтобы сделать это, сначала

➤ Нажмите ALT+F11 чтобы открыть VBA окно.

В VBA окно,

➤ Нажмите на Вставка вкладку и выберите Модуль .

Это позволит открыть Модуль(Код) окно. Сейчас,

➤ Вставьте следующий код в Модуль(Код) окно,

 Sub Copy_Criteria_Text() Application.ScreenUpdating = False With ActiveSheet .AutoFilterMode = False With Range("C1", Range("C" & Rows.Count).End(xlUp)) .AutoFilter 1, "Virginia" On Error Resume Next .Offset(1).EntireRow.Copy Sheet3.Range("A" & Rows.Count).End(xlUp).Offset(1) End With .AutoFilterMode = False End With Application.ScreenUpdating = TrueSheet3.Select End Sub 

Код создаст макрос с именем Копировать_критерии_текст который будет искать Вирджинию в колонке C текущего рабочего листа и вернуть строки, которые содержат Virginia в рабочем листе с именем Региональные продажи (Лист3).

После этого,

➤ Закройте или сверните VBA окно.

➤ Нажмите ALT+F8

Это позволит открыть Макро окно.

➤ Выберите Копировать_критерии_текст в Имя макроса и нажмите кнопку Запускайте .

В результате строки с Virginia будут скопированы в рабочий лист с именем Региональные продажи

Подробнее: Как автоматически скопировать строки в Excel на другой лист (4 метода)

2. Копирование строк в другой рабочий лист на основе числовых критериев

Сейчас я покажу вам, как можно копировать строки из одного рабочего листа в другой на основе числовых критериев. Предположим, вы хотите скопировать данные о продажах, превышающих $100000, в рабочий лист с именем Лучшие продажи Чтобы сделать это, сначала

➤ Нажмите ALT+F11 чтобы открыть VBA окно.

В VBA окно,

➤ Нажмите на Вставка вкладку и выберите Модуль .

Это позволит открыть Модуль(Код) окно. Сейчас,

➤ Вставьте следующий код в Модуль(Код) окно,

 Sub Copy_Criteria_Number() Application.ScreenUpdating = False With ActiveSheet .AutoFilterMode = False With Range("D1", Range("D" & Rows.Count).End(xlUp)) .AutoFilter 1, ">100000" On Error Resume Next .Offset(1).EntireRow.Copy Sheet4.Range("A" & Rows.Count).End(xlUp).Offset(1) End With .AutoFilterMode = False End With Application.ScreenUpdating =True Sheet4.Select End Sub 

Код создаст макрос с именем Номер_критерия_копии который будет искать значения больше 100000 в столбце D рабочего листа с именем Данные и вернуть строки, содержащие значения продаж более $100000 в рабочем листе с именем Лучшие продажи (Sheet4).

После этого,

➤ Закройте или сверните VBA окно.

➤ Нажмите ALT+F8

Откроется Макро окно.

➤ Выберите Номер_критерия_копии в Имя макроса и нажмите кнопку Запускайте .

В результате строки, содержащие продажи на сумму более $100000, будут скопированы в файл Лучшие продажи рабочий лист.

Подробнее: Как скопировать несколько строк в Excel с помощью макроса (4 примера)

Заключение

С помощью двух методов, описанных в этой статье, вы сможете копировать строки из одного рабочего листа в другой лист на основе различных критериев с помощью Excel VBA. Первый метод можно использовать для текстовых критериев, а второй - для числовых. Если у вас возникли какие-либо неясности относительно любого из методов, пожалуйста, оставьте комментарий.

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