Você pode usar colunas auxiliares. Para o exemplo que você deu, use essa fórmula para G1
:
=IF(COUNTIF($A1:A1,A1)=1,A1,"")
... e copie isso para H1:L1
. Se as suas linhas não tiverem o mesmo número de registros, você poderá alterar a fórmula para endereçar todas as células em branco:
=IF(A1="","",IF(COUNTIF($A1:A1,A1)=1,A1,""))
Uma abordagem alternativa de VBA seria:
Option Explicit
Function RemoveDuplicatesInRows(dataRange As Range)
Dim r As Long
Dim c As Long
Dim s As String
For r = 1 To dataRange.Rows.Count
s = ""
For c = 1 To dataRange.Columns.Count
If InStr(1, s, "|" & dataRange.Cells(r, c).Value & "|") > 0 Then
dataRange.Cells(r, c).Value = ""
Else
s = s & "|" & dataRange.Cells(r, c).Value & "|"
End If
Next
Next
End Function
... que pode ser chamado em algum outro lugar no VBA com algo assim:
RemoveDuplicatesInRows Sheet1.Range("A1:F30")