Last year when I was really starting to jump into exporting data to Excel I ran into an issue. I wanted the rows with duplicated data to only show the first row and hide the following rows… Conditional Formatting, right? So, why couldn’t I get what I wanted. When all else fails *Google* it! Which is just what I did and found exactly what I needed on Contextures Blog then just convert the Excel Macro into VBA and this…
Const xlUp As Long = -4162 'This can go at the very tip under the Declarations
Dim ApXL As Object
Dim xlWBk As Object
Dim xlWSh As Object
Dim lngLastRow As Long
Dim Z As String
With xlWSh
'Conditional Formatting
lngLastRow = xlWSh.Cells(.Rows.Count, 1).End(xlUp).Row
Z = "A4" & ":F" & lngLastRow
xlWSh.Range(Z).Select
'.Add Type:xlExpression use 1 for Early Binding, 2 for Late Binding
ApXL.Selection.FormatConditions.Add Type:=2, Formula1:="=A3=A2"
ApXL.Selection.FormatConditions(ApXL.Selection.FormatConditions.Count).SetFirstPriority
With ApXL.Selection.FormatConditions(1).Font
.Color = RGB(255, 255, 255)
.TintAndShade = 0
End With
ApXL.Selection.FormatConditions(1).StopIfTrue = False
End With
…produces this…

Note, the code includes some caveats… I never knew how many rows hence *Z* and *lngLastRow* and since I have a Totals row I needed to know for highlighting and summing. If you don’t have that limitation you can use (change the column and row numbers accordingly)…
xlWSh.Range("D4:D100").Select
…and eliminate *Z* and *lngLastRow*.
![]()

Access MVP (2010-2015)