在Excel中使用高级过滤器时,是否可以根据条件添加注释/错误代码?
例如,如果我有标准:
我可以在过滤结果上附加注释,以便我有一个可能包含的错误列:
“注意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
答案 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