首页 文章

添加评论后如何触发VBA代码?

提问于
浏览
0

假设您向包含单词“today”的单元格添加注释,那么我们希望触发VBA代码以将“today”替换为该注释中的今天日期 . 但问题是我无法找到事件(或任何其他方式)来了解添加评论的时间,或者知道哪个单元格(范围对象) . 有任何想法吗?

我目前的愚蠢解决方案是在 Worksheet_SelectionChange 事件中添加VBA代码(在选择更改之前我无法获取旧位置,这是一种遗憾),然后执行 For Each 循环,检查工作表中的每个注释,然后执行该替换 .

1 回答

  • 0

    解决方法可能是使用“帮助器”单元格来存储最后一个选定单元格的地址,以便一旦用户完成注释并选择另一个单元格,事件处理程序将仅检查“最后”单元格

    接下来的东西(我使用单元格“A1”作为“帮手”)

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim cmt As Comment
    
    With Target
        If .Address <> Cells(1, 1) Then
        Set cmt = Range(Cells(1, 1)).Comment
            If Not cmt Is Nothing Then
                With cmt
                    .Text (Replace(.Text, "today", Date))
                End With
            End If
        End If
    End With
    
    Cells(1, 1) = Target.Address
    
    End Sub
    

相关问题