I don't have the answer for what's causing the problem, but I have what I
would consider as a work-around solution. The following code will convert
entries in a column of email addresses (I'm assuming they are in a column,
not a row) to email links if they don't already contain a hyperlink. While
it's doing that, if you have some typed in and displaying as
mailto:
[email protected] it will remove the "mailto:" from the displayed text.
Only change you should have to make to the code is where it starts and finds
end of used range and shows ("A65535") - change the A to whatever column your
email addresses are in.
Then go to the sheet, select all of the cells in the column that you want to
revise and while they are selected, run the macro (Tools | Macro | Macros and
choose it and run it). Here's the code needed to be dropped into a code
module. Not optimized or pretty, but works for me here.
Sub MakeEmailLinks()
'you must have selected the cells to add link to before
'calling this code
Dim EmailAddress As String
'change the column letter to match the one with
'your email address list in it
Range("A65535").End(xlUp).Select
ActiveCell.Offset(1, 0).Activate
On Error Resume Next
Do While ActiveCell.Row <> 1
ActiveCell.Offset(-1, 0).Activate
EmailAddress = ActiveCell.Hyperlinks(1).Address
If Err = 0 Then
'already has hyperlink, do nothing
Else
Err.Clear
'does not have hyperlink, make one
'if the cell is not empty
If Not (IsEmpty(ActiveCell)) Then
'handle the ones where "mailto:"
'shows up in the text of the cell
If InStr(LCase(ActiveCell.Text), "mailto:") Then
ActiveCell.Value = _
Right(ActiveCell.Text, _
Len(ActiveCell.Text) - 7)
End If
'create the hyperlink
ActiveSheet.Hyperlinks.Add _
Anchor:=ActiveCell, _
Address:="mailto:" & ActiveCell.Text
End If
End If
Loop
On Error GoTo 0
End Sub