У меня есть данные в сводной таблице, как показано на рисунке.Мое требование состоит в том, чтобы извлечь значения элементов (столбцы B и C) для каждого списка полей (столбец A).Сохраните эти значения в строку и разделите несколько значений в столбце C точкой с запятой (;):
Например: для каждого поля HOD> т.е. MGR1> извлечь H12345 из Col B (поле HOD ID) и R12345;R12346 из Col C (REP ID Field) и сохраните эти значения в строках для последующего использования в коде.
и т. Д. С MGR2, MGR3 и т. Д. *
Я пробовал что-то вродеэто, но не уверен, как сохранить значения в строку, извините, новый для vb:
Sub PivotTabletest()
Dim PvtTbl As PivotTable
Dim rng1 As Range
Dim rng2 As Range
Dim rng3 As Range
Set PvtTbl = Worksheets("HOD View").PivotTables("PivotTable1")
Set rng1 = PvtTbl.PivotFields("REP ID").DataRange
Set rng2 = PvtTbl.PivotFields("HOD").PivotItems("MGR1").DataRange.EntireRow ' MGR1 should be picked dynamically instead
Set rng3 = Intersect(rng1, rng2)
'Intersect(rng1, rng2).Interior.Color = vbYellow 'color coding works!
For Each Cell In rng3
Debug.Print Cell.Value
Next Cell
End Sub
Обновлен код, умеющий печатать значения для Col3, но должен быть в состоянии сделать "PivotItems (" MGR1")" динамический (не жестко запрограммированный)
сводная таблица