2016-05-27 75 views
0

是否可以通过VB获取数据透视表中某个值的单元格地址(或单元格范围)?数据透视表值单元地址

例子:

Row Labels Count Threshold-% 

REG1  224  0.00% 
    FALSE 11 
    TRUE 213 

REG2  213  0.00% 
    FALSE 13 
    TRUE 200 

REG3  318  0.00% 
    FALSE 3 
    TRUE 315 

REG4  467  0.00% 
    FALSE 7 
    TRUE 460 

Grand Total 1222 0.00% 

我怎么能拿REG1的单元格地址 - FALSE> - > 11?

我知道当我点击它,它给了我“B3”,但我想通过VB找到它。

+0

还在寻找,但它可以帮助http://stackoverflow.com/questions/6262743/convert-cells1-1-into -a1-反之亦然 – Destrif

+0

帮助!我设法使用下面的代码获得我正在寻找的地址 - pt.GetPivotData(“State”,“Region”,“REG1”,“State”,False)。地址 –

回答

1
+0

感谢您的链接。我读过它们,但不幸的是它不是我正在寻找的值,而是单元格地址。所以就像“B3”等细胞的范围。不是它里面的价值。 –

+0

该文档说:包含数据透视表数据的字段的名称。请注意数据,这应该返回范围 – Destrif

+0

我不理解。你会有一个代码示例吗? –

1

试试这个:

Sub test() 
    Dim Data As Range, cl As Range 
    Set Data = Range(Cells.Find("REG1").Offset(, 1), _ 
        Cells.Find("REG2").Offset(-1, 2)) 

    For Each cl In Data 
     If UCase(cl.Value2) = "FALSE" And cl.Offset(, 1).Value2 = 11 Then Exit For 
    Next cl 

    If Not cl Is Nothing Then MsgBox cl.Address 
End Sub 

测试: enter image description here