循环遍历筛选列中的所有可能选项

时间:2015-02-02 22:01:48

标签: excel-vba vba excel

我正在寻找一个宏的帮助,该宏将使用列的过滤器来遍历过滤器上的每个可能的选择。然后,它将复制并粘贴已过滤的选区,清除过滤器,然后重新应用到过滤器范围上的下一个可能选项。关于这个的任何想法?提前谢谢。

1 个答案:

答案 0 :(得分:2)

这只是一个例子............您必须使其适应您的数据和架构。假设我们有一个数据标签,如:

enter image description here

我们希望在类型 (即alpha,beta,gamma)上运行所有选项并单独捕获它们。这个宏:

Sub macroxx()
    Dim sh1 As Worksheet, sh2 As Worksheet
    Set sh1 = Sheets("data")
    Set sh2 = Sheets("results")
    Dim ary(1 To 3) As String, tablee As Range
    Dim i As Long, j As Long

    j = 1
    ary(1) = "alpha"
    ary(2) = "beta"
    ary(3) = "gamma"
    Set tablee = sh1.Range("A1:C28")

    For i = 1 To 3
        tablee.AutoFilter Field:=3, Criteria1:=ary(i)
        tablee.Copy sh2.Cells(1, j)
        j = j + 4
    Next i
End Sub

我们运行选项并将结果放在结果标签中:

enter image description here