Я работаю над листом отслеживания запуска Excel, который получает большую часть своей информации из внешней базы данных. У меня есть код, который сравнивает два листа, чтобы добавить недостающую информацию из выписки базы данных в мой лист отслеживания запуска.Добавить условное форматирование в обновленные ячейки
Этот код сравнивает, если три условия совпадают между двумя листами, и если это так, он заменяет строку (от столбца E до столбца AQ), если она не добавляет строку в конце листа отслеживания запуска.
Как добавить условное форматирование к обновленным ячейкам?
Это код, который у меня есть до сих пор!
Option Explicit
Public Const FM As String = "Launch Tracker"
Public Const lidebFM As Byte = 3
Public Const FL As String = "LAT - Master Data"
Public Const lidebFL As Byte = 3
Public Const co1 As Byte = 8 ' colonne H
Public Const co2 As Byte = 15 ' colonne O
Public Const co3 As Byte = 17 ' colonne Q
Public Sub Update()
Dim lifinFL As Long, liFL As Long
Dim lifinFM As Long, liFM As Long
Dim obj As Object
Dim V1 As String, V2 As String, V3 As String
With Sheets(FL)
' dernière ligne feuille FL
lifinFL = .Cells.Find("*", , , , xlByRows, xlPrevious).Row
' boucle sur les lignes de FL
For liFL = lidebFL To lifinFL
' dernière ligne de FM
lifinFM = Sheets(FM).Cells.Find("*", , , , xlByRows, xlPrevious).Row
' comparaison des Item ID
V1 = .Cells(liFL, co1).Value
' recherche de V1 dans FM colonne co1
Set obj = Sheets(FM).Columns(co1).Find(V1, , , xlWhole)
' si pas trouve lifm = 1° ligne dispo dans FM pour copie
If obj Is Nothing Then
liFM = lifinFM + 1
' sinon V1 est trouve à la ligne liFM
Else
liFM = obj.Row
' compraison de MARKET et SAP
V2 = .Cells(liFL, co2).Value
V3 = .Cells(liFL, co3).Value
' si identiques on garde liFM = liobj pour ecrasement
If V2 = Sheets(FM).Cells(liFM, co2).Value And V3 = Sheets(FM).Cells(liFM, co3).Value Then
' rien
Else
' si non identiques lifm = 1° ligne dispo dans FM pour copie
liFM = lifinFM + 1
End If
End If
' copie de la ligne liFL dans FM à la ligne liFM
'.Rows(liFL).Copy Sheets(FM).Cells(liFM, 1)
'prendre juste les cellules à la place de la ligne
.Range(.Cells(liFL, 5), .Cells(liFL, 43)).Copy Sheets(FM).Cells(liFM, 5)
Next liFL
End With
End Sub
Лучше всего показать, что вы сделали в первую очередь. Вы можете легко форматировать ячейку как часть процесса обновления. –
Только что понял, что я испортил форматирование кода, но вот оно ... Но поскольку я копирую gorup из ячеек, как я могу различить тех, кто был обновлен, и тех, у кого этого нет? – MopMop