谢谢你过去的帮助。我又被一些事情卡住了,试了很多次都没能解决,再次需要你的帮助。
我想提取第一行字段的值,这些值在应用所有的过滤器后显示在pivottable中。下面的代码提供了第1行的所有值,尽管只有5个值显示在pivottable中。
检查这里的屏幕截图。
如上图所示,我只想要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
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