Excel VBA引用定义的范围

时间:2013-11-20 21:28:28

标签: excel vba excel-vba

在Excel工作表中,我将范围A1:A10定义为“definedvar”。我正在尝试使用此范围中的值来驱动数据透视表过滤器。我无法弄清楚如何引用我想要的定义范围值。我逐步完成了代码,代码确实通过我想要的数据透视表项,但“definedvar”值没有任何内容。我做错了什么?

    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

1 个答案:

答案 0 :(得分: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