У меня есть следующее кодирование: если нет совпадения, он копирует «новую» информацию (столбцы с 1 по 9). Может кто-нибудь, пожалуйста, предложите добавить код, чтобы выделить каждую новую строку данных, которая добавлена, чтобы я мог легко различить существующие данные и новые строки? Благодаря!Выделите новые данные, скопированные за
Sub CompareSheets()
Dim laws As Worksheet
Set laws = Sheets("LookAhead")
Dim galreqws As Worksheet
Set galreqws = Sheets("galreq")
Dim RowsMaster As Integer, Rows2 As Integer
RowsMaster = laws.Cells(1048576, 1).End(xlUp).Row
Rows2 = galreqws.Cells(1048576, 1).End(xlUp).Row
' Get the number of used rows for each sheet
With Worksheets("galreq")
For i = 2 To Rows2
' Loop through Sheet 2
For j = 2 To RowsMaster
' Loop through the Master sheet
If .Cells(i, 4) = laws.Cells(j, 4) And .Cells(i, 6) = laws.Cells(j, 6) And .Cells(i, 8) = laws.Cells(j, 8) Then
' If a match is found:
laws.Cells(j, 5) = .Cells(i, 5)
' Copy in contact info
Exit For
' No point in continuing the search for that company
ElseIf j = RowsMaster Then
' If we got to the end of the Master sheet
' and haven't found a company match
RowsMaster = RowsMaster + 1
' Increment the number of rows
For k = 1 To 9 ' Change 3 to however many fields Sheet2 has
laws.Cells(RowsMaster, k) = .Cells(i, k)
' Copy the data from Sheet2 in on the bottom row of Master
Next
End If
Next j
Next i
End With
End Sub
Отличное решение! Я смог добавить его прямо под моей кодовой строкой, которая копирует данные. Единственная проблема - это цвет одной строки моих существующих данных синим цветом и не окрашивал последнюю строку моих новых данных. Любая идея, как заставить подсветку сдвинуться на 1 строку? – Danny
VBA будет делать то, что вы ему скажете. Я не тратил много времени с вашим кодом, чтобы выяснить, где именно цвет. 'Ячейки (j, 5)' - это просто ссылка на «j» -й ряд и 5-й столбец. Вы можете поместить любое выражение, которое вычисляет целое число (например, «Ячейки (j + 1, 5)»). Похоже, вы также печатаете что-то на 'law.Cells (RowMaster, k) = .Cells (i, k)', чтобы это могло быть подходящим тоже. – CodeJockey
Удивительно, я смог добавить +1 в существующий код, и он отлично работал. Еще раз спасибо. – Danny