如何使用VBA从它的第一行字段中获取实际的pivottable数据。

问题描述 投票:-1回答:1

谢谢你过去的帮助。我又被一些事情卡住了,试了很多次都没能解决,再次需要你的帮助。

我想提取第一行字段的值,这些值在应用所有的过滤器后显示在pivottable中。下面的代码提供了第1行的所有值,尽管只有5个值显示在pivottable中。

检查这里的屏幕截图。

Image

如上图所示,我只想要7,41,60,61,62个值,但是循环正在为所有80个SN.NO的sourcedata运行。

Sub GetRowItems()

    Dim pi As PivotItem
    Dim val As String

    'Set variables
    ThisWorkbook.Worksheets("Report").Activate
    Set pt = ActiveSheet.PivotTables(1)
    Set pf = pt.RowFields(1)

    'pt.PivotFields(pf.Name).DataRange.Select
    If pf Is Nothing Then Exit Sub

    For j = 1 To pf.PivotItems.count
        'MsgBox pf.PivotItems(j).Name
        val = pf.PivotItems(j).Name
    Next j

End Sub
excel excel-vba pivot-table
1个回答
0
投票
Sub GetRowItems()

ThisWorkbook.Worksheets("Report").Activate

Set pt = ActiveSheet.PivotTables(1)
Set pf = pt.TableRange1.Columns(1)

If pf Is Nothing Then Exit Sub
pf.Select

    For Each cell In Selection.Range(Cells(2, 1), Cells(Selection.Rows.Count - 1, 1))
    'Because you have Grand Totals for rows <Selection.Rows.Count - 1>
    'Else <Selection.Rows.Count>
    Debug.Print cell
    Next

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.