Hi, Hanman,
maybe try this code which goes into a standard module and should be tried on a copy of the worksheet without the expected result below. 
Sub EF992722()
Dim lngCounter As Long 'Row Counter
Dim lngCol As Long 'Column Counter
Application.ScreenUpdating = False
For lngCounter = 5 To Cells(Rows.Count, 1).End(xlUp).Row
For lngCol = Cells(lngCounter, Columns.Count).End(xlToLeft).Column To 3 Step -1
If Cells(lngCounter, lngCol) = "" Then
Cells(lngCounter, lngCol).Delete Shift:=xlToLeft
ElseIf WorksheetFunction.CountIf(Range(Cells(lngCounter, 3), Cells(lngCounter, lngCol)), Cells(lngCounter, lngCol)) > 1 Then
Cells(lngCounter, lngCol).Delete Shift:=xlToLeft
End If
Next lngCol
Next lngCounter
Application.ScreenUpdating = True
End Sub
How to install your new code
- Copy the Excel VBA code
- Select the workbook in which you want to store the Excel VBA code
- Press Alt+F11 to open the Visual Basic Editor
- Choose Insert > Module
- Edit > Paste the macro into the module that appeared
- Close the VBEditor
- Save your workbook (Excel 2007+ select a macro-enabled file format, like *.xlsm)
To run the Excel VBA code:- Press Alt-F8 to open the macro list
- Select a macro in the list
- Click the Run button
Ciao,
Holger
Bookmarks