Съдържание
Данни за справяне , въз основа на критерии, от един лист в друг е една от често извършваните задачи в Excel. Ако имате много редове и искате да ги копирате в друг лист въз основа на някакви критерии, това може да бъде доста досадно и отнемащо време. Но с Microsoft Приложение на Visual Basic (VBA) можете да създавате макроси, с които лесно да копирате данни от един лист в друг въз основа на различни критерии. В тази статия ще ви покажа как можете да копирате редове в друг работен лист въз основа на 2 различни вида критерии с помощта на Excel VBA .
Да речем, че имате следния набор от данни в работен лист с име " Данни ", където са дадени продажбите и областите на продажби на различните търговци. Сега искате да копирате определени редове въз основа на някои критерии в друг лист.
Изтегляне на работна тетрадка за практика
Копиране на редове в друг работен лист въз основа на Criteria.xlsm2 начина за копиране на редове в друг работен лист въз основа на критерии чрез 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 Край на подточката
Кодът ще създаде макрос с име Copy_Criteria_Text която ще търси Virginia в колона C на текущия работен лист и връща редовете, които съдържат Virginia в работния лист с име Продажби в района (лист 3).
След това,
➤ Затворете или минимизирайте VBA прозорец.
➤ Преса ALT+F8
Това ще отвори Macro прозорец.
➤ Изберете Copy_Criteria_Text в Име на макрос и щракнете върху Изпълнявайте .
В резултат на това редовете с Virginia ще бъдат копирани в работния лист с име Продажби в района
Прочетете още: Как да копирате редове автоматично в Excel в друг лист (4 метода)
2. Копиране на редове в друг работен лист въз основа на критерии за брой
Сега ще ви покажа как можете да копирате редове от един работен лист в друг работен лист въз основа на критерии за брой. Да предположим, че искате да копирате данните за продажбите, които са по-големи от 100 000 USD, в работен лист с име Топ продажби За да направите това, първо,
➤ Преса 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
Кодът ще създаде макрос с име Copy_Criteria_Number която ще търси стойности, по-големи от 100000, в колона D на работния лист с име Данни и да върнете редовете, които съдържат стойности на продажбите над $100000 в работния лист с име Топ продажби (лист4).
След това,
➤ Затворете или минимизирайте VBA прозорец.
➤ Преса ALT+F8
Това ще отвори Macro прозорец.
➤ Изберете Copy_Criteria_Number в Име на макрос и щракнете върху Изпълнявайте .
В резултат на това редовете, които съдържат стойности на продажбите над 100 000 USD, ще бъдат копирани в Топ продажби работен лист.
Прочетете още: Как да копирате няколко реда в Excel с помощта на макрос (4 примера)
Заключение
С помощта на двата метода от тази статия ще можете да копирате редове от един работен лист в друг работен лист въз основа на различни критерии, като използвате Excel VBA. Можете да използвате първия метод за текстови критерии, а втория метод - за цифрови критерии. Ако имате някакви неясноти относно някой от методите, моля, не се колебайте да оставите коментар.