Excel 将注释添加为公式

Excel 将注释添加为公式,excel,excel-formula,comments,Excel,Excel Formula,Comments,如何自动化Excel工作表上的注释?是否有一个公式来创建注释,如“=注释(“etc”)”或其他 例如,在一个关于每一行的简短介绍的专栏中,我认为在每一个单元格中添加一条注释比添加一条长文本要好 也欢迎其他选择。要将每个单元格的内容添加到与该单元格相关的注释中,可以使用VBA中的AddComment方法: Sub comment() Dim ws As Worksheet Dim rng As Range Set ws = Worksheets(1) Set rng = ws.UsedRang

如何自动化Excel工作表上的注释?是否有一个公式来创建注释,如
“=注释(“etc”)”
或其他

例如,在一个关于每一行的简短介绍的专栏中,我认为在每一个单元格中添加一条注释比添加一条长文本要好


也欢迎其他选择。

要将每个单元格的内容添加到与该单元格相关的注释中,可以使用VBA中的
AddComment
方法:

Sub comment()

Dim ws As Worksheet
Dim rng As Range

Set ws = Worksheets(1)
Set rng = ws.UsedRange

    For Each c In rng.Cells
        c.AddComment.Text c.Formula
    Next c


End Sub
这也将显示非公式单元格内容。如果要确定这是否为实际公式,可以使用
If
语句和
application.WorksheetFunction.IsFormula(range(c.address))
来获取布尔值


希望有帮助。

要将每个单元格的内容添加到与该单元格相关的注释中,可以使用VBA中的
AddComment
方法:

Sub comment()

Dim ws As Worksheet
Dim rng As Range

Set ws = Worksheets(1)
Set rng = ws.UsedRange

    For Each c In rng.Cells
        c.AddComment.Text c.Formula
    Next c


End Sub
这也将显示非公式单元格内容。如果要确定这是否为实际公式,可以使用
If
语句和
application.WorksheetFunction.IsFormula(range(c.address))
来获取布尔值


希望有帮助。

使用VBA的一个简单答案是创建如下VBA函数:

Option Explicit

Function InsertComment(Stringincell As String, StrinComment As String)
   Application.Caller.ClearComments
   Application.Caller.AddComment StrinComment
   InsertComment = Stringincell
End Function
现在,您可以使用常规excel并在单元格中输入函数/公式,以获取文本作为注释:

=Comment("String to see in the cell","String you want to see in the comment")

使用VBA的一个简单答案是创建如下VBA函数:

Option Explicit

Function InsertComment(Stringincell As String, StrinComment As String)
   Application.Caller.ClearComments
   Application.Caller.AddComment StrinComment
   InsertComment = Stringincell
End Function
现在,您可以使用常规excel并在单元格中输入函数/公式,以获取文本作为注释:

=Comment("String to see in the cell","String you want to see in the comment")

@FoxfireAndBurnsAndBurns的可能重复此N函数是公式的注释,而不是excel注释。通过“如何自动生成注释”您的确切含义是什么?是否需要自动生成注释文本?公式将无法在单元格中创建注释。如果使用VBA可以,您可以使用工作表事件插入和更新注释。只是出于好奇:收缩以适应或包装文本是否适合您?可能重复@FoxfireAndBurnsAndBurns此N函数是公式的注释,而不是excel注释。通过“如何自动化注释”您到底指的是什么是否需要自动生成注释文本?公式将无法在单元格中创建注释。如果使用VBA可以,您可以使用工作表事件插入和更新注释。只是出于好奇:收缩以适应或包装文本是否适合您?我不认为这会起作用,因为它会改变除值以外的其他内容。我要做的一个更改是将
选择
更改为
Application.Caller
<代码>选择可能会将注释添加到错误的单元格-
=InsertComment(“ABC”,J7)
更新J7会将注释添加到J7<代码>应用程序。调用者将引用包含公式的单元格。如果您想提取公式,这肯定是一个很好的注释!谢谢你,你解决了我的问题。我真的停止了检查这个帖子,因为我得到的只是一些与我问的问题无关的评论,一个与我的问题不太相似的建议,其他一些让人讨厌的评论和一个反对票,但他们自己却做不到。字面上说,让人停止携带。。。但是现在我有你的答案,所以谢谢。我很高兴我能帮上忙。我猜否决票是因为这个问题不太符合Stackoverflow的风格。也许问题应该更多地针对超级用户。我建议对其进行编辑,使其成为一个更好的可供选择的问题:)我不认为这会起作用,因为它正在改变除值以外的其他内容。我要做的一个更改是将
选择
更改为
Application.Caller
<代码>选择可能会将注释添加到错误的单元格-
=InsertComment(“ABC”,J7)
更新J7会将注释添加到J7<代码>应用程序。调用者将引用包含公式的单元格。如果您想提取公式,这肯定是一个很好的注释!谢谢你,你解决了我的问题。我真的停止了检查这个帖子,因为我得到的只是一些与我问的问题无关的评论,一个与我的问题不太相似的建议,其他一些让人讨厌的评论和一个反对票,但他们自己却做不到。字面意思是让一个人停止携带。。。但是现在我有你的答案,所以谢谢。我很高兴我能帮上忙。我猜否决票是因为这个问题不太符合Stackoverflow的风格。也许问题应该更多地针对超级用户。我建议对其进行编辑,使其成为一个更好的可供选择的问题:)
IsFormula
我认为是在Excel 2013中引入的。由于它是VBA
c.HasFormula
在所有版本中都会返回相同的结果(可能不早于2003年)。
IsFormula
是在Excel 2013中引入的。因为它是VBA
c.HasFormula
在所有版本中都会返回相同的结果(可能不早于2003年)。