VBA用户定义的函数来复制单元格的值,文本形成和超链接?
Posted
技术标签:
【中文标题】VBA用户定义的函数来复制单元格的值,文本形成和超链接?【英文标题】:VBA user-defined function to copy value, text formation and hyperlink of a cell? 【发布时间】:2013-05-13 15:11:14 【问题描述】:给定一个示例纯 excel 文件here,复制单元格的值、格式和超链接的 VBA 代码是什么?
即在单元格 B5,我们将调用 =myCopyCellFunction(B2)
,我们将在 B2 处获得确切的单元格值
【问题讨论】:
您要复制单元格的值和格式或公式吗?您是否尝试过录制一些代码?请向我们展示您遇到问题的代码 我认为除了返回值之外,您不能使用用户定义函数在 Excel 中执行任何操作。如果我正确理解您的问题,您希望它插入超链接吗?您必须使用宏而不是 UDF 来执行此操作(即将 UDF 从函数更改为子)。 您认为为什么需要 UDF?告诉我们您要完成的工作,并向我们展示您的代码,以便我们提供帮助 @Philip B2 单元格是从***复制的内容,带有超链接和漂亮的文本格式。我只是想将原始单元格带到另一个我处理 wiki 数据的表中。如果 Excel 有另一个运算符,那就太好了,f=
说,besiade `=' 运算符
@NamG.VU 在下面试试我的答案
【参考方案1】:
在普通代码模块中试试这个
Function copyIt(ByVal vRange As Range) As String
Dim sAddress As String
Dim sText As String
'
Application.EnableEvents = False
Application.ThisCell.Hyperlinks.Delete
' handle non hyperlinks in source cell
If vRange.Hyperlinks.Count < 1 Then
copyIt = vRange.Text
Exit Function
End If
'
' get values for new hyperlink in target cell
sAddress = vRange.Hyperlinks(1).Address
sText = vRange.Hyperlinks(1).TextToDisplay
'
' apply link to target cell
Application.ThisCell.Hyperlinks.Add Anchor:=Application.ThisCell, Address:=sAddress, TextToDisplay:=sText
' return string value
copyIt = sText
'
Application.EnableEvents = True
End Function
然后你在这样的单元格中使用它:
=copyIt(B2)
【讨论】:
我试过你的,但不适合我这个样本dl.dropboxusercontent.com/u/6194904/2013/…以上是关于VBA用户定义的函数来复制单元格的值,文本形成和超链接?的主要内容,如果未能解决你的问题,请参考以下文章