Итак, мне удалось как-то справиться с этим кодом с помощью многих экспертов по кодированию. Мне нужно создать макрос, который сравнивает данные в двух листах.Excel VBA сравнение столбца данных копия строки
В обоих моих рабочих листов, есть столбец с именем «eRequest ID», я должен скопировать строки записей, которые DO NOT есть «eRequest ID» в обоих файлов.
Код, который я разработал, теперь копирует реквы, имеющие «идентификатор eRequest» в . ФАЙЛЫ. Поэтому логично, что я должен «отрицать» условие IF в моем коде ниже, но я понятия не имею, как это сделать, поскольку я являюсь новичком при кодировании, включая VBA.
Sub compareAndCopy()
Dim lastRowE As Integer
Dim lastRowF As Integer
Dim lastRowM As Integer
Dim foundTrue As Boolean
Application.ScreenUpdating = False
lastRowE = Sheets("JULY15Release_Master Inventory").Cells(Sheets("JULY15Release_Master Inventory").Rows.Count, "A").End(xlUp).Row
lastRowF = Sheets("JULY15Release_Dev status").Cells(Sheets("JULY15Release_Dev status").Rows.Count, "A").End(xlUp).Row
lastRowM = Sheets("Mismatch").Cells(Sheets("Mismatch").Rows.Count, "A").End(xlUp).Row
For i = 1 To lastRowE
foundTrue = False
For j = 1 To lastRowF
If Sheets("JULY15Release_Master Inventory").Cells(i, 2).Value = Sheets ("JULY15Release_Dev status").Cells(j, 7).Value Then
foundTrue = False
Exit For
End If
Next j
If Not foundTrue Then
Sheets("JULY15Release_Master Inventory").Rows(i).Copy Destination:= _
Sheets("Mismatch").Rows(lastRowM + 1)
lastRowM = lastRowM + 1
End If
Next i
Application.ScreenUpdating = False
End Sub
Простите мое плохое форматирование. Я тоже очень новичок в stackoverflow.
Еще одна вещь, я просто понял, что этот код копирует только строки из Sheets("JULY15Release_Master Inventory")
. Он не копирует строки из Sheets("JULY15Release_Dev status")
, даже если для этих данных имеется только один «идентификатор eRequest».
Ваша переменная 'foundTrue' никогда не установлена в true, поэтому ваш оператор if после второго цикла цикла всегда выполняется. Поэтому каждая строка должна возвращать несоответствие. Я думаю, что «eRequest ID» находится на листе 1 в столбце 2 и на листе 2 в столбце 7? – EngJon
-EngJon «Идентификатор eRequest» расположен на столбце 1 на обоих листах. Есть ли способ сделать этот код более простым? –
Еще одна вещь, я просто понял, что этот код копирует только строки из 'Sheets (« JULY15Release_Master Inventory »)' Он не копирует строки из 'Sheets (« JULY15Release_Dev status »)', даже если для этого есть только один «eRequest ID» данные. –