Как переместить всю строку на другой лист на основе значения ячейки в Excel?

Эта статья поможет вам переместить всю строку на другой лист на основе значения ячейки.

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

Легко выбирать целые строки на основе значения ячейки в столбце сертификата:

Утилита Выбрать определенные ячейки из Kutools for Excel может помочь вам быстро выбрать целые строки на основе значения ячейки в столбце сертификата в Excel, как показано на скриншоте ниже. После выбора всех строк на основе значения ячейки вы можете вручную переместить или скопировать их в новое место, как вам нужно в Excel.

Kutools for Excel : с более чем 200 удобными надстройками Excel, вы можете бесплатно попробовать без ограничений в 60 дней. Загрузите бесплатную пробную версию прямо сейчас!

–>


Переместить всю строку на другой лист на основе значения ячейки с кодом VBA

Как показано на скриншоте ниже, вам нужно переместить всю строку с Sheet1 на Sheet2, если определенное слово «Done» существует в столбце C. Вы можете попробовать следующий код VBA.

1. Одновременно нажмите клавиши Alt + F11 , чтобы открыть окно Microsoft Visual Basic для приложений . 2. В окне Microsoft Visual Basic для приложений щелкните Вставить > Модуль . Затем скопируйте и вставьте приведенный ниже код VBA в окно.

 Sub Cheezy () 'Обновлено Kutools для 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 Возобновить следующее приложение.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 = TrueEnd Sub 

Примечание . В коде Sheet1 – это рабочий лист, содержащий строку, которую вы хотите переместить. А Sheet2 – это рабочий лист назначения, на котором вы найдете строку. «C: C» – это столбец, содержащий определенное значение, а слово «Готово» – это определенное значение, на основе которого вы переместите строку. Измените их в соответствии с вашими потребностями.

3. Нажмите клавишу F5 , чтобы запустить код, после чего строка, соответствующая критериям Sheet1, будет немедленно перемещена на Sheet2.

. Приведенный выше код VBA удалит строки из исходных данных после перехода к указанному рабочий лист. Если вы хотите копировать только строки на основе значения ячейки, а не удалять их. Примените приведенный ниже код VBA 2.

 Sub MoveRowBasedOnCellValue () 'Обновлено 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 Возобновить следующее приложение. ScreenUpdating = False For K = 1 To  xRg.Count Если CStr (xRg (K) .Value) = "Done", то xRg (K) .EntireRow.Copy Destination: = Worksheets ("Sheet2"). Range ("A" & J + 1) J = J +  1 End If Next Application.ScreenUpdating = TrueEnd Sub 

Переместить всю строку на другой лист на основе значения ячейки с помощью Kutools для Excel

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

Перед применением Kutools for Excel , пожалуйста, сначала загрузите и установите его .

1. Выберите список столбцов, содержащий значение ячейки, на основе которого вы будете перемещать строки, затем нажмите Kutools > Выбрать > Выбрать определенные ячейки . См. Снимок экрана:

2. В открывшемся диалоговом окне Выбрать определенные ячейки выберите Вся строка в разделе Тип выбора , выберите Равно в раскрывающемся списке Определенный тип , введите значение ячейки в текстовое поле и затем нажмите кнопку ОК .

Другое диалоговое окно Выбрать определенные ячейки всплывает, чтобы показать вам количество выбранных строк, а между тем все строки, содержащие указанное значение в выбранном столбце, были выбраны. См. Снимок экрана:

3. Нажмите клавиши Ctrl + C , чтобы скопировать выбранные строки, а затем вставьте их в нужный рабочий лист.

Примечание . Если вы хотите переместить строки на другой лист на основе двух разных значений ячеек. Например, переместите строки на основе значений ячеек либо” Готово »или« Обработка », вы можете включить условие Или в диалоговом окне Выбрать определенные ячейки , как показано ниже:

Если вы хотите получить 30-дневную бесплатную пробную версию этой утилиты, нажмите, чтобы загрузить его , а затем примените операцию в соответствии с указанными выше шагами.


Статьи по теме :

  • Как переместить всю строку в нижнюю часть активного листа на основе значения ячейки в Excel?

Оцените статью
Frestage.ru
Добавить комментарий