2016-05-27 4 views
0

VB経由でピボットテーブルの値のセルアドレス(またはセル範囲)を取得できますか?ピボットテーブル値のセルアドレス

例: - > FALSE - > 11

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のセルアドレスを得ることができますか?

クリックすると「B3」が表示されますが、VB経由で検索したいと思います。

+0

はまだ見て、それが役立つことhttp://stackoverflow.com/questions/6262743/convert-cells1-1-into -a1-とその逆 – Destrif

+0

が助けになりました! pt.GetPivotData( "State"、 "Region"、 "REG1"、 "State"、False).Address –

答えて

1

はいあなたは、このようなあなたのピボットアイテムを取得することができます:

Convert cells(1,1) into "A1" and vice versa

かと:あなたはそれを見つけるだろうその後

https://msdn.microsoft.com/fr-fr/library/office/ff840045.aspx

https://msdn.microsoft.com/fr-fr/library/office/ff821539.aspx

はとアドレスですピボットデータ:

https://msdn.microsoft.com/fr-fr/library/office/ff195919.aspx

+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

関連する問題