使用 Excel VBA 提取单元格/工作表的注释和注释

问题描述 投票:0回答:2

我正在寻找一种方法来提取 Excel 工作表中的注释和评论。 Stack Overflow 中几乎所有资源都指向

Range.Comment
,用于提取笔记。

如何提取工作表的所有注释和评论? 我还需要从评论中提取所有回复。

excel vba
2个回答
2
投票

Excel 中的“注释”功能是 Excel 协作功能的最新新增功能。

在 Excel-online 之前,所有与单元格相关的注释都被存储为“注释”(右键单击单元格 > 插入注释)。讽刺的是,使用 VBA 提取单元格注释文本的命令是

Sheet1.Range("A1").Comment.Text
。现在注释已作为 Excel 中的一项功能添加,当您想要从注释中提取文本时,这可能会导致混乱。

以下是提取注释和评论的资源和信息:


Excel 注释:

您可以通过“右键单击单元格>新建注释”在任何单元格中插入注释。

单个单元格注释: 提取单元格 A1 的注释文本的命令是

Sheet1.Range("A1").Comment.Text

选定的工作表注释:如果您想提取Worksheet1的所有注释,可以使用以下代码来实现

Worksheets(1).Comments

Excel 评论:

您可以通过“右键单击单元格>新建评论”在任何单元格中插入注释。

单个单元格注释: 提取单元格 A1 的注释文本的命令是

Sheet1.Range("A1").CommentThreaded.Text

选定的工作表注释:如果您想提取Worksheet1的所有注释,可以使用以下代码来实现

Worksheets(1).CommentsThreaded 

回复:一条评论可以有多个回复。因此,回复是根据回复的实例号提取的。 提取单元格 A1 的评论的第一个回复的命令是

Sheet1.Range("A1").CommentThreaded.Replies(1).Text

0
投票

Gangula 的回答“Sheet1.Range("A1").CommentThreaded.Text”为我提供了修改代码的解决方案,该代码从现代注释而不是注释中获取文本并将其粘贴到所选单元格中:

对于 WorkRng 中的每个 rng ' rng.Value = Selection.End(xlUp).NoteText rng.Value = Selection.End(xlUp).CommentThreaded.text

© www.soinside.com 2019 - 2024. All rights reserved.