Você precisa verificar o InteriorColor de cada célula:
Function Concatenatecells(ConcatArea As Range) As String
Dim n As Range, nn As String
nn = ""
For Each n In ConcatArea
If n.Interior.Color <> 16777215 Then
nn = IIf(n = "", nn & "", nn & n & ",")
End If
Next n
If nn <> "" Then
Concatenatecells = Left(nn, Len(nn) - 1)
Else
Concatenatecells = ""
End If
End Function