如何使用Excel VBA迭代动态数据透视表?

时间:2016-11-18 00:13:23

标签: vba excel-vba excel

在我收到的每日输入中,我做了一个数据透视表,我手动创建了一次。数据透视表具有活动过滤器。一旦我得到新的输入,我刷新枢轴。以简化的方式,它看起来像这样:

Pivot Table

使用小型VBA宏,我想检索该人的姓名和他访问过的国家,然后检查这两个值。如何遍历此动态数据透视表以获取名称和国家/地区的每一行(例如,Name = Amanda,Country = Spain)?

1 个答案:

答案 0 :(得分:0)

此代码将遍历A列并填充两个变量Country和Name 为了调试目的,我输出一个字符串。

Sub Travel()

    Lastrow = Range("A" & Rows.Count).End(xlUp).Row
    For i = 4 To Lastrow ' Change i to first row with a name in pivot table
        If Range("A" & i).IndentLevel = 0 Then ' New person
            Name = Range("A" & i).Value
            Country = ""
        Else
            Country = Range("A" & i).Value
        End If

        If Country <> "" Then
            ' For debug purpose
            Range("C" & i).Value = Name & " was in " & Country
        Else
            ' The code is "in between" two names
        End If
    Next i


End Sub

enter image description here