繁体   English   中英

根据另一列中的字符串从一列中获取值,并从结果中返回唯一列表

[英]Getting the values from a column based on a string from another column and returning a unique list from result

我有一个表,该表具有我感兴趣的两列。我想做的是在第一列中查找一个字符串,但将第二列中的字符串保存在一个范围内。 我也希望这些值是唯一的。

我当时想遍历整个第一列,但是鉴于我有超过20000行,我想知道是否有更好的方法可以自动找到值并将它们保存为范围。

这是我的表格外观的示例:

在此处输入图片说明

因此,例如,当列A的值为AAA时,我想要的是将列D中的所有字符串另存为一个范围。 我知道我可以使用高级过滤器轻松地做到这一点,但是我想在VBA中做到这一点。

谢谢

使用这样的东西:

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

给出这样的结果:

在此处输入图片说明

让我们知道是否有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM