我对VBA很新 - 但我正在尝试编写一个函数来复制单元格并将注释粘贴到另一个单元格 . 我做了很多搜索,没有找到并回答,对于VBA来说太新了,无法理解如何修改我找到的内容 . 背景是我有一个报告是从另一家公司提取的,该报告将图像放入评论中,但我希望将该报告放在一个更易于阅读的格式中,而无需手动复制和粘贴事物 . 我尝试了一个数据透视表,但是没有返回值,因此现在尝试编写一个VBA函数以与索引匹配一起使用,以使用数据填充我的跟踪器 .

我找到了一个完全符合我想要的宏,如下所示 . 但是我想将它用作函数,所以我可以使用if语句或索引匹配 .

Sub CommentCopy()
Range("Q7").Copy
Range("Q8").PasteSpecial xlPasteComments
Application.CutCopyMode = False
End Sub

我还找到了一个可以复制注释文本并将其粘贴到相邻单元格的函数,这是我想要的

Function commentof(r As Range) As String
Application.Volatile
If r.Comment Is Nothing Then
    commentof = ""
Else
    commentof = r.Comment.Text
End If
End Function

所以我试着将两者合并到一起,但它没有编译:

Function commentpaste(r As Range) As String
r.Copy
comment paste = PasteSpecial xlPasteComments
Application.CutCopyMode = False
End Function

我还找到了这个链接,它谈到了在函数中复制到剪贴板是不可能的?我真的不能这样做吗? Need guidance with a VBA function to paste values in Excel

提前感谢大家的帮助!布伦丹