2013-11-20 97 views
0

在Excel工作表中,我將範圍A1:A10定義爲「definedvar」。我試圖使用這個範圍內的值來驅動數據透視表過濾器。我無法弄清楚如何引用我想要的定義的範圍值。我瀏覽了代碼,代碼確實經歷了我想要的透視表項目,但「definedvar」值沒有任何內容。我究竟做錯了什麼?Excel VBA參考定義範圍

For Each pi In pt1.PivotFields("COLUMN A").PivotItems 
    If IsError(Application.WorksheetFunction.Match(pi.Name, Range("definedvar"), 0)) Then 
     pi.Visible = False 
    Else 
     pi.Visible = True 
    End If 
    Next pi 
+0

你是怎麼定義這個範圍? – Motes

+1

如果它是在工作表級別而不是工作簿級別定義的,請嘗試使用sheet1.range(「definedvar」) – nutsch

+0

範圍通過名稱管理器(不在VBA中)在工作簿級別定義 – lolatu2

回答

0

嘗試ActiveWorkbook.Names.Item("definedvar").RefersToRange

For Each pi In pt1.PivotFields("COLUMN A").PivotItems 
If IsError(Application.WorksheetFunction.Match(pi.Name, ActiveWorkbook.Names.Item("definedvar").RefersToRange.Value, 0)) Then 
    pi.Visible = False 
Else 
    pi.Visible = True 
End If 
Next pi