Коллеги помогите пожалуйста сделать макрос: Суть: Есть два листа и в нем есть данные по типу BOX_НОМЕР В одном и том же листе есть такие же значения если нет в во втором листе выводится сравнение на третий лист. нужно сделать чтоб повторяющиеся значения не выводились в лист 3 а выводились именно тех которых не хватает в листе 2
Коллеги помогите пожалуйста сделать макрос: Суть: Есть два листа и в нем есть данные по типу BOX_НОМЕР В одном и том же листе есть такие же значения если нет в во втором листе выводится сравнение на третий лист. нужно сделать чтоб повторяющиеся значения не выводились в лист 3 а выводились именно тех которых не хватает в листе 2ЕвгенийИ
Данные в конкретном столбце или вообще по всему листу в случайных ячейках? Копировать что, всю строку или только значение данной ячейки? Ну тут либо перебор, либо поиск по листу: [vba]
Код
Set rSearchRange = oWB.Sheets("Лист1").UsedRange For Each rCell In rSearchRange If Left(rCell.Value, 9) = "BOX_НОМЕР" Then Set rFoundRange = oWB.Worksheets(2).Cells.Find(What:=rCell.Value, LookIn:=xlValues, LookAt:=xlWhole) If rFoundRange Is Nothing Then 'При условии, что в стобце А не пусто iLastRow = oWB.Sheets("Лист3").Cells(Rows.Count, 1).End(xlUp).Row + 1 rCell.EntireRow.Copy Destination:=oWB.Sheets("Лист3").Cells(iLastRow, 1) End if End If Next rCell
[/vba] Либо первые две строки заменить поиск по листу Вроде [vba]
Код
Set rSearchRange = oWB.Sheets("Лист1").Cells.Find(What:="1212", LookIn:=xlValues, LookAt:=xlWhole) Do While Not rSearchRange Is Nothing Set rFoundRange = oWB.Worksheets(2).Cells.Find(What:=rSearchRange.Value, LookIn:=xlValues, LookAt:=xlWhole) If rFoundRange Is Nothing Then iLastRow = oWB.Sheets("Лист3").Cells(Rows.Count, 1).End(xlUp).Row + 1
rSearchRange.EntireRow.Copy Destination:=oWB.Sheets("Лист3").Cells(iLastRow, 1) End If Set rSearchRange = oWB.Sheets("Лист1").Cells.Find(What:="1212", After:=rSearchRange.Cells, LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlNext) Loop
[/vba] Только ограничитель нужен.
Данные в конкретном столбце или вообще по всему листу в случайных ячейках? Копировать что, всю строку или только значение данной ячейки? Ну тут либо перебор, либо поиск по листу: [vba]
Код
Set rSearchRange = oWB.Sheets("Лист1").UsedRange For Each rCell In rSearchRange If Left(rCell.Value, 9) = "BOX_НОМЕР" Then Set rFoundRange = oWB.Worksheets(2).Cells.Find(What:=rCell.Value, LookIn:=xlValues, LookAt:=xlWhole) If rFoundRange Is Nothing Then 'При условии, что в стобце А не пусто iLastRow = oWB.Sheets("Лист3").Cells(Rows.Count, 1).End(xlUp).Row + 1 rCell.EntireRow.Copy Destination:=oWB.Sheets("Лист3").Cells(iLastRow, 1) End if End If Next rCell
[/vba] Либо первые две строки заменить поиск по листу Вроде [vba]
Код
Set rSearchRange = oWB.Sheets("Лист1").Cells.Find(What:="1212", LookIn:=xlValues, LookAt:=xlWhole) Do While Not rSearchRange Is Nothing Set rFoundRange = oWB.Worksheets(2).Cells.Find(What:=rSearchRange.Value, LookIn:=xlValues, LookAt:=xlWhole) If rFoundRange Is Nothing Then iLastRow = oWB.Sheets("Лист3").Cells(Rows.Count, 1).End(xlUp).Row + 1
rSearchRange.EntireRow.Copy Destination:=oWB.Sheets("Лист3").Cells(iLastRow, 1) End If Set rSearchRange = oWB.Sheets("Лист1").Cells.Find(What:="1212", After:=rSearchRange.Cells, LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlNext) Loop