添加条件格式以更新单元格
Add conditional formating to updated cells
我正在开发一个 Excel 启动跟踪器 sheet,它从外部数据库获取大部分信息。我有比较两个 sheet 的代码,以将缺少的信息从数据库提取添加到我的启动跟踪器 sheet。
此代码正在比较两个 sheet 之间的三个条件是否匹配,如果匹配,则替换该行(从 E 列到 AQ 列),如果不匹配,则在启动跟踪 sheet.
如何向更新的单元格添加条件格式?
这是我目前的代码!
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
如果用不同的颜色绘制更新的线适合你,你可以使用像这样简单的东西(使线变成黄色):
Range("E" & currLine & ":AQ" & currLine).Interior.Color = 65535
当然,在启动更新数据的循环之前,您应该将整个 sheet 涂成一种颜色(白色或任何其他颜色)。
我正在开发一个 Excel 启动跟踪器 sheet,它从外部数据库获取大部分信息。我有比较两个 sheet 的代码,以将缺少的信息从数据库提取添加到我的启动跟踪器 sheet。
此代码正在比较两个 sheet 之间的三个条件是否匹配,如果匹配,则替换该行(从 E 列到 AQ 列),如果不匹配,则在启动跟踪 sheet.
如何向更新的单元格添加条件格式?
这是我目前的代码!
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
如果用不同的颜色绘制更新的线适合你,你可以使用像这样简单的东西(使线变成黄色):
Range("E" & currLine & ":AQ" & currLine).Interior.Color = 65535
当然,在启动更新数据的循环之前,您应该将整个 sheet 涂成一种颜色(白色或任何其他颜色)。