Как да преместите целия ред в друг лист въз основа на стойността на клетката в Excel?
За преместване на целия ред в друг лист въз основа на стойността на клетка, тази статия ще ви помогне.
Преместване на целия ред в друг лист въз основа на стойността на клетка с VBA код
Преместете целия ред в друг лист въз основа на стойността на клетката с Kutools за Excel
Преместване на целия ред в друг лист въз основа на стойността на клетка с VBA код
Както е показано на екранната снимка по-долу, трябва да преместите целия ред от Sheet1 към Sheet2, ако в колона C съществува конкретна дума „Готово“. Можете да опитате следния VBA код.
1. Натиснете Друг+ F11 клавиши едновременно, за да отворите Microsoft Visual Basic за приложения прозорец.
2. В прозореца на Microsoft Visual Basic за приложения щракнете Поставете > Модули. След това копирайте и поставете VBA кода по-долу в прозореца.
VBA code 1: Move entire row to another sheet based on cell value
Sub Cheezy()
'Updated by Kutools for Excel 2017/8/28
Dim xRg As Range
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim K As Long
I = Worksheets("Sheet1").UsedRange.Rows.Count
J = Worksheets("Sheet2").UsedRange.Rows.Count
If J = 1 Then
If Application.WorksheetFunction.CountA(Worksheets("Sheet2").UsedRange) = 0 Then J = 0
End If
Set xRg = Worksheets("Sheet1").Range("C1:C" & I)
On Error Resume Next
Application.ScreenUpdating = False
For K = 1 To xRg.Count
If CStr(xRg(K).Value) = "Done" Then
xRg(K).EntireRow.Copy Destination:=Worksheets("Sheet2").Range("A" & J + 1)
xRg(K).EntireRow.Delete
If CStr(xRg(K).Value) = "Done" Then
K = K - 1
End If
J = J + 1
End If
Next
Application.ScreenUpdating = True
End Sub
Забележка: В кода, Sheet1 е работният лист съдържа реда, който искате да преместите. И Sheet2 е целевият работен лист, където ще намерите реда. “C:C” е колоната, която съдържа определена стойност и думата „Направен” е определената стойност, въз основа на която ще преместите ред. Моля, променете ги според вашите нужди.
3. Натисни F5 за изпълнение на кода, тогава редът, който отговаря на критериите в Sheet1, ще бъде преместен незабавно в Sheet2.
Забележка: Горният VBA код ще изтрие редове от оригиналните данни след преместване в определен работен лист. Ако искате само да копирате редове въз основа на стойността на клетката, вместо да ги изтривате. Моля, приложете следния VBA код 2.
VBA code 2: Copy entire row to another sheet based on cell value
Sub MoveRowBasedOnCellValue()
'Updated by Extendoffice 2017/11/10
Dim xRg As Range
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim K As Long
I = Worksheets("Sheet1").UsedRange.Rows.Count
J = Worksheets("Sheet2").UsedRange.Rows.Count
If J = 1 Then
If Application.WorksheetFunction.CountA(Worksheets("Sheet2").UsedRange) = 0 Then J = 0
End If
Set xRg = Worksheets("Sheet1").Range("C1:C" & I)
On Error Resume Next
Application.ScreenUpdating = False
For K = 1 To xRg.Count
If CStr(xRg(K).Value) = "Done" Then
xRg(K).EntireRow.Copy Destination:=Worksheets("Sheet2").Range("A" & J + 1)
J = J + 1
End If
Next
Application.ScreenUpdating = True
End Sub
Преместете целия ред в друг лист въз основа на стойността на клетката с Kutools за Excel
Ако сте начинаещ във VBA кода. Тук представям Изберете конкретни клетки полезност на Kutools за Excel. С тази помощна програма можете лесно да изберете всички редове въз основа на определена стойност на клетка или различни стойности на клетка в работен лист и да копирате избраните редове в целевия работен лист, както ви е необходимо. Моля, направете следното.
Преди да кандидатствате Kutools за Excel, Моля те първо го изтеглете и инсталирайте.
1. Изберете списъка с колони, който съдържа стойността на клетката, въз основа на която ще премествате редове, след което щракнете Kutools > Изберете > Изберете конкретни клетки. Вижте екранна снимка:
2. В откриването Изберете конкретни клетки диалогов прозорец, изберете Цял ред в Тип селекция раздел, изберете Равно на в Специфичен тип падащ списък, въведете стойността на клетката в текстовото поле и след това щракнете върху OK бутон.
Друг Изберете конкретни клетки изскача диалогов прозорец, за да ви покаже броя на избраните редове, а междувременно всички редове съдържат определената стойност в избраната колона са избрани. Вижте екранна снимка:
3. Натисни Ctrl + C клавиши, за да копирате избраните редове и след това да ги поставите в целевия работен лист, от който се нуждаете.
Забележка: Ако искате да преместите редове в друг работен лист въз основа на две различни стойности на клетка. Например, преместете редове въз основа на стойностите на клетката или „Готово“, или „Обработка“, можете да активирате Or състояние в Изберете конкретни клетки диалогов прозорец, както е показано на екранната снимка по-долу:
Ако искате да имате безплатен пробен период (30 дни) на тази помощна програма, моля, щракнете, за да го изтеглитеи след това преминете към прилагане на операцията съгласно горните стъпки.
Свързани статии:
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!