[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ピボットテーブルの詳細内での並べ替え』(めび)
VBAは自動作成されたものを編集しながら使っているレベルの者です。
特定のデータを集計したピボットテーブルを活用しています。
ピボットテーブル内の数字をクリックすると、集計された数字を構成しているデータを表示するシートを自動作成してくれると思いますが、
・詳細シートの作成
・シート内の特定データを非表示化
・特定のデータでの並べ替え(今回はB列を希望)
をVBAで行おうとしています
詳細シートの作成は、特定の数字を選択してから
Selection.ShowDetail = True
を実行することで、
非表示化はアクティブシートにて編集することで、
解決したのですが、
その後の並べ替えができません。
色々調べたのですが、出力されるデータの数が不定であることもあり、
・自動作成してみると「ワークシート」や「テーブル」の指定が入ってしまい、それを省こうと、一般的なサンプルを編集したものを使うと、レンジ指定のsortメソッドが不正、等のエラーが起きてしまうこと
がネックになり、進まない状況です。
お力添え頂けたら幸いです。
< 使用 Excel:Excel2013、使用 OS:Windows7 >
(マナ) 2018/06/13(水) 18:06
Option Explicit
Sub test() Dim r As Range
Set r = Cells(1).CurrentRegion r.Sort key1:=r.Columns(2), order1:=xlDescending, Header:=xlYes
End Sub
(マナ) 2018/06/13(水) 18:36
追加されたシートには、テーブルは1個しかないはずなので
ListObjects(1)で指定できるはずです。
なので、以下のようにするとエラーにならないと思います。
Option Explicit
Sub test2() Dim t As ListObject
Set t = ActiveSheet.ListObjects(1)
With t.Sort .SortFields.Clear .SortFields.Add Key:=t.HeaderRowRange(2), Order:=xlDescending .Apply End With
End Sub
(マナ) 2018/06/13(水) 19:06
曖昧な質問にも関わらず、ありがとうございます…! 無事できました!
相対的な指定方法を少しずつ覚えていければと思います…。
改めて、ありがとうございました!!!
(めび) 2018/06/14(木) 09:25
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.