如何在找到特定值的第一个单元格上添加注释并循环它

时间:2018-04-10 18:59:06

标签: vba excel-vba excel

宏的最终目标是搜索D列中是否有值从第20行开始,如果为TRUE则搜索第一个" TT"行和添加注释(在D列中找到的值)。 然后为同一行的第一个TF和FT执行此操作。 然后继续下一行,直到它到达第499行。

我能够找到具有指定值的单元格的地址。

我可以创建一个写注释的宏。

我不知道如何将它们混合在一起并正确应用循环以遍历所有列。

谢谢!

这里有一个数据示例:

Data sample

青色细胞应该得到评论。该注释是在D列中同一行的单元格中找到的值

以下是我现在获得的代码:

Sub Add_Comments()

Dim rng As Range
Dim taskname As Long

'Turns off Conditional formating
Range("D1").Value = "NOCF"
Application.Wait Now + #12:00:02 AM#


For taskname = 20 To 499
'Checks if there is a task on that row
If Not IsEmpty(cell.Offset(taskname, 4).Value) Then
'Start the loop to find and comment cells if value = TT, TF or FT
    Set rng = cell.Offset(taskname, 4)
    Set taskcmt = Selection.Find(What:="TT", LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
        If Not taskcmt Is Nothing Then
'Add a comment on the current address
        Cells(taskname, taskcmt.Column).AddComment rng.Value

        End If
'Turns on conditional formating
Else: Range("D1").Value = "CF"
Exit Sub
End If

Next
'Turns on conditional formating
Range("D1").Value = "CF"
End Sub

我还在其他2个网站上发布了该问题

以下是链接:

https://www.mrexcel.com/forum/excel-questions/1051202-how-add-comment-first-cell-where-specific-value-found-loop.html#post5047803

https://www.ozgrid.com/forum/forum/help-forums/excel-vba-macros/1202240-how-to-add-a-comment-on-the-first-cell-where-a-specific-value-is-found-and-loop-it

1 个答案:

答案 0 :(得分:0)

这就是我结束这样做的方式。每个可能性的一个宏(“TT”,“”TF“,”FT“) 我很确定这可以清理,我可能会改变“FIND”来寻找TT,然后是TF,最后是FT但是复制宏更容易,擦除应该只在开始或结束时做的事情并调用下一个宏,以便它们可以一个接一个地运行。

Internet Information Services -> World Wide Web Services -> Application Development Features