我有一个表格,其中有两列我感兴趣。我想要做的是在第一列中查找字符串,但保存范围内第二列的字符串。我也希望这些值是独一无二的。
我在考虑循环整个第一列,但考虑到我有超过20000行,我想知道是否有更好的方法会自动找到值并将它们保存为范围。
以下是我的表格外观的示例:
所以我想要的是,当列A具有值AAA时,将列D中的所有字符串保存为范围。我知道我可以使用高级过滤器轻松完成此操作,但我想在VBA中完成。
由于
答案 0 :(得分:1)
使用类似的东西:
Sub FilterRange(WS As Worksheet, FieldIndex As Long, CriteriaStr As String)
WS.AutoFilterMode = False
Set Rng = WS.UsedRange
Rng.AutoFilter FieldIndex, CriteriaStr, Operator:=xlFilterValues, VisibleDropDown:=False
End Sub
这样称呼:
Sub Test()
Dim WS As Worksheet: Set WS = ThisWorkbook.Sheets("Sheet3") 'Modify as necessary.
Dim ColOfCondition As Long
ColOfCondition = Application.Match("HeaderA", WS.Rows(1), 0)
FilterRange WS, ColOfCondition, "AAA"
End Sub
给出这样的结果:
如果有帮助,请告诉我们。