Я пытаюсь сделать простую строку копирования, вставить строку в книгу. Я искал темы и несколько раз менял свой код, но безрезультатно.Копирование/Вставка нескольких строк в VBA
Это тот, который ближе всего подходит для работы, но он копирует только один экземпляр критериев соответствия.
Я пытаюсь создать цикл, который скопирует все строки, имеющие совпадение в одном из столбцов.
Итак, если 8 столбцов, каждая строка с соответствующим значением в столбце 7 должна копироваться на именованный лист.
Sub test()
Set MR = Sheets("Main").Range("H1:H1000")
Dim WOLastRow As Long, Iter As Long
For Each cell In MR
If cell.Value = "X" Then
cell.EntireRow.Copy
Sheets("X").Range("A" & Rows.Count).End(xlUp).PasteSpecial
End If
If cell.Value = "Y" Then
cell.EntireRow.Copy
Sheets("Y").Range("A" & Rows.Count).End(xlUp).PasteSpecial
End If
If cell.Value = "Z" Then
cell.EntireRow.Copy
Sheets("Z").Range("A" & Rows.Count).End(xlUp).PasteSpecial
End If
If cell.Value = "AB" Then
cell.EntireRow.Copy
Sheets("AB").Range("A" & Rows.Count).End(xlUp).PasteSpecial
End If
Application.CutCopyMode = False
Next
End Sub
Мне нравится это, потому что мне нужно ориентировать на несколько листов назначения с различными критериями, но мне нужны все строки, которые соответствуют критериям, чтобы скопировать.
Спасибо. Это просто дает мне ошибку run-teime'9 ': индекс вне диапазона для набора wsPaste = Worksheets (rngCell.Value). – John
Есть ли рабочий лист с именем значения в столбце 7 для каждой строки в столбце 7. Чтобы ссылаться на пример в вашем исходном сообщении, ячейка в столбце G имеет значение «X». Эта строка перемещается на лист с именем «X». Это верно для всех строк? Кроме того, была ли какая-либо из строк скопирована в любой лист? – user3561813
, поэтому он копировал первый экземпляр. Таким образом, первое значение X было вставлено в X-лист. Поэтому в тестовой рабочей книге, которую я использую, у меня есть 11 экземпляров X в столбце G. каждый раз, когда я ее запускаю, он копирует тот же экземпляр ниже первого в листе адресата. – John