【问题标题】:Cells to automatically format entries as email hyperlinks单元格自动将条目格式化为电子邮件超链接
【发布时间】:2015-04-14 16:50:08
【问题描述】:

Excel 专家 -

我正在处理一个电子表格,其中运行了多个宏并且非常有用,但是它确实有一个过程,我想看看它是否可以自动化,到目前为止我的尝试和研究已经到来和 nada 一样。

我有一个用户表单将客户的电子邮件地址直接输入到 Sheet1 的下一行是空的,并且电子邮件位于 H2:H3000 列中。 H 列已经编写了其他几项任务,例如,当电子邮件是活动超链接并且用户选择它时,它会通过 Outlook 和 K 列生成一封电子邮件,只要选择超链接,它记录操作的日期和时间,以及执行操作的用户 ID。当前设置的主要问题是,用户必须浏览 H 列中的每个单元格并双击电子邮件并在其外部单击才能激活超链接。有没有一种方法可以自动输入 H 列中的任何输入?

谢谢!

【问题讨论】:

  • 当前代码:Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range ("H3:H1500")) Is Nothing Then Range.Select ActiveSheet.Hyperlinks.Add Anchor:=Selection , Address:= (超链接值等于文本条目) TextToDisplay:=(Text Entry) End Sub

标签: excel vba hyperlink automation


【解决方案1】:

如果不查看您的代码,很难给出更具体的说明,但一种选择可能是将链接添加为超链接而不是纯文本。请参阅下面的示例,如果有帮助,请告诉我。

ActiveSheet.Hyperlinks.Add Range("H1"), Me.TextBox1.Value

根据请求,可以在Worksheet 模块中使用以下代码在Worksheet_Change 事件触发时将文本条目更改为链接。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("H3:H1500")) Is Nothing Then
        ActiveSheet.Hyperlinks.Add anchor:=Target, Address:=Target.Value
    End If
End Sub

【讨论】:

  • 感谢您的帮助。我猜你是在建议将该行添加到用户表单本身?我试图弄清楚将工作表中作为私有子放置是否会更好,以识别对列范围的更改并以这种方式自动将文本转换为超链接,但对象定义不喜欢任何语法......想法?
  • 位置的选择最终取决于您的预期使用情况。我个人更喜欢直接从userform 控制活动,但这不能直接控制对工作表的更改。我创建了一个模拟环境进行测试,从用户表单向电子表格添加值不会引发worksheet_change 事件。我将编辑我的答案,演示如何使用工作表更改事件将文本正确更改为链接以供您参考
猜你喜欢
  • 2021-07-16
  • 2023-02-18
  • 2016-12-20
  • 2019-06-02
  • 2012-01-19
  • 1970-01-01
  • 2019-03-08
  • 2015-03-06
  • 1970-01-01
相关资源
最近更新 更多