Try this macro.

Sub MyTest()
Dim Cel1            As Range
Dim Cel2            As Range
Dim i               As Long
Dim j               As Long
Dim LastCol         As Long
Dim LastRow         As Long
With Sheets("Main")
        LastRow = .Range("A65536").End(xlUp).Row
        LastCol = .Range("IV1").End(xlToLeft).Column
        For j = 1 To LastCol
            Set Cel1 = Cells.Find(What:=.Range(Cells(1, j).Address).Text, _
                LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)
            For i = 2 To LastRow
                If Application.WorksheetFunction.CountIf( _
                .Range(Cells(2, j).Address & ":" & Cells(i, j).Address), _
                    .Range(Cells(i, j).Address).Text) = 1 _
                    And .Range(Cells(i, j).Address).Text <> "" Then
                    Set Cel2 = Cells.Find(What:=.Range(Cells(i, j).Address).Text, _
                    LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)
                    If Not Cel2 Is Nothing Then
                        If Cel1.Address <> Cel2.Address Then
                            MyCon Cel1, Cel2, j + 2
                        End If
                    End If
                End If
            Next i
        Next j
    End With
End Sub