Нам нужно скопировать данные из одной рабочей книги в другую, если данных не существует.
For example as below.
sheet1 in workbook1
Column1 column2 column 3
abc ravi red
def ramu blue
ghi giri green
Sheet1 in workbook2
column1 column2 column 3
abc ravi black
def ramu blue
Теперь нам нужно сравнить столбец 1, 2 и 3 в обеих рабочих книгах, и если какие-либо данные столбца не совпадают, то данные, представленные на листе 1 рабочей книги 1, должны быть добавлены на лист 1 в рабочей книге2 без дубликатов
Я пробовал использовать указанный ниже код. Не уверен, где я допустил ошибку.
Private Sub click()
Dim x As Workbook
Dim y As Workbook
Set y = ActiveWorkbook
Set x = Workbooks.Open("workbook1.xlsx")
Set newbook = Workbooks.Open("workbook2.xls")
ActiveWorkbook.SaveCopyAs Filename:=ActiveWorkbook.Name
ActiveWorkbook.Save
b1 = x.Worksheets("sheet1").Cells(Rows.Count, 1).End(xlUp).Row
a1 = newbook.Worksheets("sheet1").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To a1
For j = 2 To b1
If (newbook.Sheets("ENV").Cells(i, 1).Value <> x.Sheets("ENV").Cells(j, 1).Value And newbook.Sheets("ENV").Cells(i, 2).Value <> x.Sheets("ENV").Cells(j, 2).Value And newbook.Sheets("ENV").Cells(i, 3).Value <> x.Sheets("ENV").Cells(j, 3).Value) Then
x.Activate
b = Worksheets("ENV").Cells(Rows.Count, 1).End(xlUp).Row
x1 = x.Sheets("ENV").Cells(j, 1).Value
y1 = x.Sheets("ENV").Cells(j, 2).Value
z1 = x.Sheets("ENV").Cells(j, 3).Value
x.Sheets("ENV").Cells(b + 1, 1).Value = newbook.Sheets("ENV").Cells(i, 1).Value
x.Sheets("ENV").Cells(b + 1, 2).Value = newbook.Sheets("ENV").Cells(i, 2).Value
x.Sheets("ENV").Cells(b + 1, 3).Value = newbook.Sheets("ENV").Cells(i, 3).Value
End If
Next
Next
End Sub
Ожидаемый результат: получить только те данные, которые не соответствуют
Фактический результат: получение повторяющихся значений