对指定单元格自动添加批注功能

发布网友

我来回答

1个回答

热心网友

答:我写了一段代码来完成。功能如下:

1、依据H和I列的值来给指点单元格添加批注。

2、只给不为空的单元格添加批注,忽略空单元格

3、修改H或I列的值,则全部重新执行,添加批注或更新已有批注内容。

按ALT+F11,打开VB编辑器,插入一个模块,复制下方代码,按F5执行程序。

Sub AddComt()
    Dim Orng As Range
    Dim Drng As Range
    Set Orng = Range("H2")
    Do Until IsEmpty(Orng)
       Set Drng = Application.Evaluate(Orng.Value)
        If Not IsEmpty(Drng) Then
            If Drng.Comment Is Nothing Then
                Drng.AddComment Orng.Offset(0, 1).Value
            Else
                With Drng
                    .Comment.Delete
                    .AddComment Orng.Offset(0, 1).Value
                End With
            End If
        End If
        Set Orng = Orng.Offset(1, 0)
    Loop
End Sub

追问感谢大神
还想问下,希望输入的单元格和批注内容是在一个单独的sheet表中,应如何修改

追答假设,把条件放到表"sheet2"的A1开始的单元格中,而添加批注的是表"sheet1"
则可以修改程序为:
Sub AddComt()
Dim Orng As Range
Dim Drng As Range
Set Orng = Sheets("Sheet2").Range("A2")
Do Until IsEmpty(Orng)
Set Drng = Application.Evaluate("Sheet1!" & Orng.Value)
If Not IsEmpty(Drng) Then
If Drng.Comment Is Nothing Then
Drng.AddComment Orng.Offset(0, 1).Value
Else
With Drng
.Comment.Delete
.AddComment Orng.Offset(0, 1).Value
End With
End If
End If
Set Orng = Orng.Offset(1, 0)
Loop
End Sub

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com