2016-11-15 82 views
0

好吧我得到一個樞紐場引用一個數據透視表的數據範圍在任一列或行:引用的數據透視表的datarange多行字段

BevPvt.PivotFields("Sum of Amount ").DataRange.Select 
For Each deposit1 In BevPvt.PivotFields("Sum of Amount ").DataRange 

但什麼如果我在列或行內有多個數據字段,IE將兩個數據字段移動到行框(例如POS位置和日期)。我想找到匹配的日期和匹配位置。將行字段(例如位置)移動到列是唯一的解決方案嗎?解決此問題的工作

回答

0

一種方式是通過使用偏移量(0,-1)

我關閉小計在rowfield框中的第一個數據字段,然後讓我的微距搜索值字段的數據範圍 - 如果它找到vbNullString,那麼偏移量(0,-1)記錄第一個行字段位置中數據字段的名稱,如果它不是vbNullString,則偏移量將給出第二個行字段位置中數據字段的名稱。

看起來像這樣(去除小計的不在這個代碼部分)

For Each deposit2 In CHMBAll.PivotFields("Sum of Original Deposit Total").DataRange 
If deposit2 = vbNullString Then 
lockbox = deposit2.Offset(0, -1).Value 
End If 
If deposit2 <> vbNullString Then 
If deposit2.Interior.Color = 5296274 Then 
DepDate = deposit2.Offset(0, -1).Value 
For CHMBi = 2 To CHMBLR 
If Cells(CHMBi, 5).Value = lockbox Then 
If Cells(CHMBi, 3).Value = DepDate Then 
Cells(CHMBi, 6).Interior.Color = 5296274 
End If 
End If 
Next CHMBi 
End If 
End If 
Next deposit2 
相關問題