您可以在高级过滤器中添加注释吗?

时间:2018-06-04 18:54:01

标签: excel excel-vba vba

在Excel中使用高级过滤器时,是否可以根据条件添加注释/错误代码?

例如,如果我有标准:

Rep | ID |销售

乔什| 3 | <大于10个
 汤姆| 4 | <> 10

我可以在过滤结果上附加注释,以便我有一个可能包含的错误列:

“注意Josh的销售额不是10”

“请注意汤姆的销售额不是10”

这是我的实际代码:

Sub AdvancedFilter()
    With ThisWorkbook
        .Sheets.Add(After:=.Sheets(.Sheets.Count)).Name = "FilteredData"
    End With
    Worksheets("FilteredData").Activate


        Sheets("DataSheet").Cells.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
        Sheets("Criteria").Range("MyTable[#All]"), CopyToRange:=Range("A1"), Unique _
        :=False
End Sub

1 个答案:

答案 0 :(得分:2)

我能想到的最简单的方法是使用VBA在表中创建一个列来确定是否有注释:

Dim i As Long
For i = 1 To 10
    If Cells(i, 1).Comment Is Nothing Then
        Cells(i, 3).Value = 1
    Else
        Cells(i, 3).Value = 0
    End If
Next i

之后,使用此帮助列进行排序(隐藏为0,其中0 =无注释)。

编辑1:我想我在第一次阅读时误解了这个问题。

如果要在满足条件的情况下添加注释,可以使用循环添加注释:

Dim i As Long
For i = 1 To 10
    If Cells(i, 1).Value < 10 Then
        Cells(i, 1).ClearComments
        Cells(i, 1).AddComment ("Sales not 10")
    End If
Next i