2015-12-23 4 views
0

У меня есть следующее кодирование: если нет совпадения, он копирует «новую» информацию (столбцы с 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 

ответ

0

Вы можете изменить фон ячейки, используя свойство Range.Interior.Color. Немного сложно выяснить, какое количество положить туда, чтобы получить правильный цвет. Обычно я сначала найду цвет, который я хочу, а затем определим соответствующее число, выбрав его и введя ?Selection.Interior.Color в ближайшее окно, которое будет печатать номер сразу же ниже.

Try laws.Cells(j, 5).Interior.Color = 8210719 сверху для размер.

+0

Отличное решение! Я смог добавить его прямо под моей кодовой строкой, которая копирует данные. Единственная проблема - это цвет одной строки моих существующих данных синим цветом и не окрашивал последнюю строку моих новых данных. Любая идея, как заставить подсветку сдвинуться на 1 строку? – Danny

+0

VBA будет делать то, что вы ему скажете. Я не тратил много времени с вашим кодом, чтобы выяснить, где именно цвет. 'Ячейки (j, 5)' - это просто ссылка на «j» -й ряд и 5-й столбец. Вы можете поместить любое выражение, которое вычисляет целое число (например, «Ячейки (j + 1, 5)»). Похоже, вы также печатаете что-то на 'law.Cells (RowMaster, k) = .Cells (i, k)', чтобы это могло быть подходящим тоже. – CodeJockey

+0

Удивительно, я смог добавить +1 в существующий код, и он отлично работал. Еще раз спасибо. – Danny