VBA:在用户定义的函数中创建单元格注释

Posted

技术标签:

【中文标题】VBA:在用户定义的函数中创建单元格注释【英文标题】:VBA: Creating cell comment within user defined function 【发布时间】:2018-10-18 08:59:35 【问题描述】:

我有一个 UDF,它根据一堆输入变量进行计算。我试图让 UDF 创建一个包含有关这些变量的信息的单元格注释,但我只是得到 #VALUE!错误。

这就是我想要做的:

Function profit(income As Single, loss As Single) As Single
Dim cell As Range
cell = ActiveCell

profit = income - loss

call create_comment(cell, income, loss)

End function

调用子:

Private Sub create_comment(cell As Range, income As Single, loss As Single)

cell.ClearComments
cell.Addcomment "income =" & income & "loss =" & loss

End Sub

感谢所有帮助!

【问题讨论】:

查看 UDF 的 limitations。然后你可以看看It can be done。但如果你这样做,那么你可能是靠你自己的:-) 谢谢,我有。我不确定创建单元格注释是否计入格式。如果没有,应该是可以的。 评论没有格式,但您也不能使用 UDF 添加形状。 请注意,我正在尝试将注释添加到函数所在的同一单元格中。我不想更改另一个单元格的值。谢谢 我必须从上面更正我的评论。您确实不能使用 UDF 添加形状。我没想到。 【参考方案1】:

我改变了你的功能

Function profit(income As Single, loss As Single, cell As Range) As Single
'Dim cell As Range
'cell = ActiveCell

profit = income - loss

Call create_comment(cell, income, loss)

End Function

然后你在这样的函数调用中输入活动单元格

=profit(1000,10,H10)

【讨论】:

这对你有用吗?我现在得到#NAME?错误 是的,这对我有用。也许您只是将代码添加到空表或按 F9 重新计算。我使用 Office/Excel 365。 谢谢!!你是英雄!! 很高兴我能帮上忙。我也学到了一些东西 ;-) 请将问题标记为已回答。 What should I do when someone answers my question?

以上是关于VBA:在用户定义的函数中创建单元格注释的主要内容,如果未能解决你的问题,请参考以下文章

VBA用户定义的函数来复制单元格的值,文本形成和超链接?

VBA用户定义函数中的复制/过去特殊单元格格式

Excel VBA 用户定义函数:在工作表函数中获取单元格被调用

Excel VBA 用户定义函数,用于计算具有条件格式的单元格

如何在 tableView 中创建自定义单元格(滑动单元格)

使用VBA控制Excel中的Tab键行为