Try this:
Dim table As New DataTable
table.Columns.Add("MyKey", GetType(String))
table.Columns.Add("MyValue", GetType(String))
table.Rows.Add("EG1001", "S1")
table.Rows.Add("EG1001", "S2")
table.Rows.Add("EG1001", "S3")
table.Rows.Add("EG2001", "S4")
table.Rows.Add("EG2001", "S5")
table.Rows.Add("EG2001", "S6")
Dim strKey As String
Dim DistinctCol As String()
Dim dtDistinct As New DataTable
DistinctCol = New String() {"MyKey"}
Dim i As Integer
dtDistinct = table.DefaultView.ToTable(True, DistinctCol)
Dim foundRows() As DataRow
For Each row As DataRow In dtDistinct.Rows
strKey = row(0).ToString()
foundRows = table.Select("MyKey = '" & strKey & "'")
If (foundRows.Length > 1) Then
For i = 1 To foundRows.GetUpperBound(0)
foundRows(i)("MyKey") = ""
Next i
End If
Next row
Thanks,
Kuthuparakkal