2013-08-30 51 views
0

目前,我有下面的代碼從我的數據透視表中設定的範圍(該數據集是地區間收入):VBA設定範圍空白樞紐項目

Set RngE1 = PT.PivotFields("Region").PivotItems("Europe").LabelRange 
Set RngE2 = Intersect(PT.PivotFields("Region").PivotItems("Europe").DataRange.EntireRow, PT.PivotFields("Income").DataRange) 
Set RngEurope = Union(RngE1, RngE2) 

然而,這是一個月度報告,並在某些個月歐洲將沒有收入。因此,我會遇到一個錯誤,即宏無法獲取PivotItem類的LabelRange。有沒有我可以使用的代碼,如果沒有找到LabelRange,可以跳過這一步,而不是破壞宏?

謝謝

回答

0

它的討厭,但只是一個錯誤陷阱呢?

Dim bTest as Boolean 
bTest = False 

' ---------- 
On Error Resume Next 
Set RngE1 = PT.PivotFields("Region").PivotItems("Europe").LabelRange 
If Err Then bTest = True 
On Error Goto 0 

If bTest Then 
    'Handle here 
Else 
    'All good 
End If 
+0

我需要爲包含「歐洲」,@DenzilNewman的每條線做到這一點嗎?我有很多這樣的線路! 「On Error Goto 0」行中的'0'是做什麼的? –

+0

對不起,不早回覆,現在可能對你沒有任何幫助。 錯誤恢復下一個 忽略錯誤 錯誤轉到0 恢復正常的錯誤處理 - 我知道這不是它看起來像什麼 –