如何阻止电子邮件地址被解析为超链接?

时间:2016-05-25 08:44:43

标签: excel excel-2013

我在电子表格中有一份船只清单,其中一列将包含每艘船的电子邮件地址。但是,输入电子邮件地址会将其转换为超链接,而我希望将其全部存储为纯文本。有没有办法防止这种情况发生或者之后删除超链接?

我目前的尝试是这个小分子:

Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("VesselEmails")) Is Nothing Then Exit Sub
Application.EnableEvents = False
    If Target.Hyperlinks.Count > 0 Then Target.Hyperlinks.Delete
Application.EnableEvents = True
End Sub

不幸的是,它没有完成这项工作。我有什么方法可以使它工作,或者我可以应用的格式掩码还是什么?

编辑:为了澄清,我不想完全关闭电子邮件地址autoformatting,就在那一栏中。

3 个答案:

答案 0 :(得分:2)

您可以使用Columns(1).Hyperlinks.Delete删除列中的超链接。在您的更改子计划中运行此行,并将Columns(1)中的1更改为包含电子邮件数据的列号 - 您也可以将其更改为列字母,例如Columns("E")
希望这会有所帮助。

答案 1 :(得分:1)

您可以尝试将此作为替代方案 - 它在Excel 2010中适用于我:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Target.Column = 5 Then
        Application.AutoFormatAsYouTypeReplaceHyperlinks = False
    Else
        Application.AutoFormatAsYouTypeReplaceHyperlinks = True
    End If

End Sub

根据您对问题的编辑,这会使行为特定于列。显然,您可以扩展If Target.Column = 5代码以包含更多列,具体取决于您的表单。

答案 2 :(得分:1)

我意识到你只想将它应用于一列而且这个答案没有实现。但是,对于记录,这里是如何防止键入的文本变成您用Excel打开的所有工作簿中的链接或电子邮件地址:

档案>选项>打样>自动更正选项>键入的Autoformat>使用超链接取消注册Internet和网络路径

enter image description here