【发布时间】:2016-05-31 12:09:13
【问题描述】:
非常感谢您在以下方面的任何帮助:
我正在通过彩色文本从“myData”范围获取用户输入,以用于自动过滤更大的范围 - 所以这里是查找红色文本单元格的地址及其值的代码:
Set rRng = Sheet1.Range("myData")
For Each rCell In rRng.Cells
If rCell.Font.ColorIndex = 3 Then
Debug.Print rCell.Address, rCell.Value
Counter = Counter + 1
End If
Next rCell
我必须将这些发现放入一个数组中并使用它们来过滤选择(选择在此时进行并选择,即“myTable”);当然,调查结果确实告诉我们要使用哪些字段和哪些值:所以如果调查结果显示:c18 "x"、d19 "y" 和 d21 "z",自动过滤器将不得不说:
With ActiveSheet
.AutoFilterMode = False
With .Range("myTable")
.AutoFilter
.AutoFilter Field:=3, Criteria1:="x"
.AutoFilter Field:=4, Criteria1:="y", Operator:=xlOr, Criteria2:="z"
End With
Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select
Selection.Font.ColorIndex = 3
End With
两个代码都按原样工作,但我当然必须编写代码来自动化整个过程。 谢谢。
【问题讨论】:
标签: arrays excel vba filter autofilter