I just wrote this macro and tested it on three different email addresses ending in .com, .net, and .org. There is no error-checking and this macro assumes that the email addresses are somewhere within the columns A-Z. It might also try and append an 'm', 't', or 'g' to other data matching the ".co" etc. criteria.
This macro basically scans for cells between A1 and Z30000 (as you mentioned you had a number of addresses) and looks for anything ending in .co .ne or .or. It appends the proper letter to make the address 'complete'. I hope this helps.
Sub Fix_Email()
Dim i As Integer
Dim rngEmail As Range
Set rngEmail = Range("A1:A30000")
For i = 1 To 30000
'Checks to see if the last 3 characters of a cell's value end in .co, .ne, or .or
If Right(rngEmail(i).Value, 3) = ".co" Then
rngEmail(i).Value = rngEmail(i).Value & "m"
ElseIf Right(rngEmail(i).Value, 3) = ".ne" Then
rngEmail(i).Value = rngEmail(i).Value & "t"
ElseIf Right(rngEmail(i).Value, 3) = ".or" Then
rngEmail(i).Value = rngEmail(i).Value & "g"
ElseIf Right(rngEmail(i).Value, 2) = ".c" Then
rngEmail(i).Value = rngEmail(i).Value & "om"
ElseIf Right(rngEmail(i).Value, 2) = ".n" Then
rngEmail(i).Value = rngEmail(i).Value & "et"
ElseIf Right(rngEmail(i).Value, 2) = ".o" Then
rngEmail(i).Value = rngEmail(i).Value & "rg"
End If
Next i
End Sub