大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAで、ピボットテーブルを並び替えする方法について、ご紹介します。使うVBAコードは、「AutoSort」です。「ラベル」を並び替えしたい場合は、「ラベル名」を使います。「ラベルの値」を並び替えしたい場合は、「ラベル名」と「値の名前」を使うとできます。ピボットテーブルの操作を、VBAで自動化していきましょう。

はじめに

この記事では、VBAでピボットテーブルを並び替えする方法について、ご紹介します。

ピボットテーブルで並び替えする箇所は、2つあります。

  • ラベル
  • ラベルの値

という感じです。

VBAで並び替えをする場合は、「AutoSort」を使って並び替えをします。

「ラベル」を並び替えしたい場合は、「ラベル名」を使います。

「ラベルの値」を並び替えしたい場合は、「ラベル名」と「値の名前」を使うとできます。

では、VBAでピボットテーブルを並び替えする方法について、解説していきます。

この記事で紹介すること

  • VBAでピボットテーブルを並び替えする方法

目次から使いそうな説明のところへ移動すると便利ですよ。

目次

VBAコードまとめ

ピボットテーブルを並び替えるVBAコードを、まとめまています。

VBAコードだけ確認したい場合に、ご活用ください。

'昇順
ActiveSheet.PivotTables(1).PivotFields("商品").AutoSort xlAscending, "商品" '「ラベル」を「昇順」
ActiveSheet.PivotTables(1).PivotFields("商品").AutoSort xlAscending, "合計 / 売上" '「値」を「昇順」

'降順
ActiveSheet.PivotTables(1).PivotFields("商品").AutoSort xlDescending, "商品" '「ラベル」を「降順」
ActiveSheet.PivotTables(1).PivotFields("商品").AutoSort xlDescending, "合計 / 売上" '「値」を「降順」

では、解説していきます。

VBAでピボットテーブルを昇順に並び替える

VBAで、ピボットテーブルを昇順に並び替えてみます。

昇順に並び替えるVBAコード

並び替える箇所は、2つあります。

  • ラベル
  • ラベルの値

という感じです。

「ラベル」を昇順に並び替えるVBAコードは、こんな感じになります。

'ラベルを「昇順」にする
ActiveSheet.PivotTables(1).PivotFields(ラベル名).AutoSort xlAscending, ラベル名

「ラベル」の「値」を昇順に並び替えるVBAコードは、こんな感じになります。

'ラベルの「値」を「昇順」にする
ActiveSheet.PivotTables(1).PivotFields(ラベル名).AutoSort xlAscending, 値の名前

それぞれで並び替えをしてみます。

ピボットテーブルを作成する

クロス集計表を、ピボットテーブルで作成しておきます。

ピボットテーブルを作成しておく

ピボットテーブルを作成しておく

「ラベル」と「ラベルの値」を昇順に並び替えてみます。

「ラベル」を昇順に並び替える

「ラベル」を昇順に並び替えてみます。

「商品」ラベルを「昇順」

「商品」ラベルを昇順に並び替えるVBAコードは、こんな感じです。

Sub TEST1()
    
    '「商品」ラベルを「昇順」にする
    ActiveSheet.PivotTables(1).PivotFields("商品").AutoSort xlAscending, "商品"
     
End Sub

では、VBAコードを実行します。

VBAで「商品」ラベルを「昇順」に並び替え

VBAで「商品」ラベルを「昇順」に並び替えができました。

「支店」ラベルを「昇順」

次は、「支店」ラベルを昇順に並び替えてみます。

Sub TEST2()
    
     '「支店」ラベルを「昇順」にする
    ActiveSheet.PivotTables(1).PivotFields("支店").AutoSort xlAscending, "支店"

End Sub

では、VBAコードを実行します。

VBAで「支店」ラベルを「昇順」に並び替え

VBAで、「支店」ラベルを「昇順」に並び替えることができました。

「値」を昇順に並び替える

「値」を昇順に並び替えてみます。

「商品」ラベルの「値」を「昇順」

「商品」ラベルの「値」を昇順に並び替えるVBAコードは、こんな感じです。

Sub TEST3()
    
    '「商品」ラベルの「値」を「昇順」にする
    ActiveSheet.PivotTables(1).PivotFields("商品").AutoSort xlAscending, "合計 / 売上"
 
End Sub

では、VBAコードを実行してみます。

VBAで「商品」ラベルの「値」を「昇順」に並び替え

VBAで、「商品」ラベルの「値」を「昇順」に並び替えができました。

「支店」ラベルの「値」を「昇順」

次は、「支店」ラベルの「値」を昇順に並び替えてみます。

VBAコードは、こんな感じです。

Sub TEST4()
    
    '「支店」ラベルの「値」を「昇順」にする
    ActiveSheet.PivotTables(1).PivotFields("支店").AutoSort xlAscending, "合計 / 売上"
    
End Sub

では、VBAコードを実行してみます。

VBAで「支店」ラベルの「値」を「昇順」に並び替え

VBAで「支店」ラベルの「値」を「昇順」に並び替えができました。

VBAでピボットテーブルを降順に並び替える

VBAで、ピボットテーブルを降順に並び替えてみます。

降順に並び替えるVBAコード

降順の場合も、並び替える箇所は、2つあります。

  • ラベル
  • ラベルの値

という感じです。

降順に並び替えしたいときは、「xlDescending」を使うとできます。

「ラベル」を降順に並び替えるVBAコードは、こんな感じになります。

'ラベルを「降順」にする
ActiveSheet.PivotTables(1).PivotFields(ラベル名).AutoSort xlDescending, ラベル名

「ラベル」の「値」を降順に並び替えるVBAコードは、こんな感じになります。

'ラベルの「値」を「降順」にする
ActiveSheet.PivotTables(1).PivotFields(ラベル名).AutoSort xlDescending, 値の名前

それぞれで並び替えをしてみます。

ピボットテーブルを作成する

先ほどと同じピボットテーブルを使います。

ピボットテーブルを作成しておく

ピボットテーブルを作成しておく

「ラベル」と「ラベルの値」を降順に並び替えてみます。

「ラベル」を降順に並び替える

「ラベル」を降順に並び替えてみます。

「商品」ラベルを「降順」

「商品」ラベルを降順に並び替えるVBAコードは、こんな感じです。

Sub TEST5()
    
    '「商品」ラベルを「降順」にする
    ActiveSheet.PivotTables(1).PivotFields("商品").AutoSort xlDescending, "商品"
      
End Sub

では、VBAコードを実行します。

VBAで「商品」ラベルを「降順」に並び替え

VBAで「商品」ラベルを「降順」に並び替えができました。

「支店」ラベルを「降順」

次は、「支店」ラベルを降順に並び替えてみます。

Sub TEST6()
    
     '「支店」ラベルを「降順」にする
    ActiveSheet.PivotTables(1).PivotFields("支店").AutoSort xlDescending, "支店"
        
End Sub

では、VBAコードを実行します。

VBAで「支店」ラベルを「降順」に並び替え

VBAで、「支店」ラベルを「降順」に並び替えることができました。

「値」を降順に並び替える

「値」を降順に並び替えてみます。

「商品」ラベルの「値」を「降順」

「商品」ラベルの「値」を降順に並び替えるVBAコードは、こんな感じです。

Sub TEST7()
        
     '「商品」ラベルの「値」を「降順」にする
    ActiveSheet.PivotTables(1).PivotFields("商品").AutoSort xlDescending, "合計 / 売上"
        
End Sub

では、VBAコードを実行してみます。

VBAで「商品」ラベルの「値」を「降順」に並び替え

VBAで、「商品」ラベルの「値」を「降順」に並び替えができました。

「支店」ラベルの「値」を「降順」

次は、「支店」ラベルの「値」を降順に並び替えてみます。

VBAコードは、こんな感じです。

Sub TEST8()
    
     '「支店」ラベルの「値」を「降順」にする
    ActiveSheet.PivotTables(1).PivotFields("支店").AutoSort xlDescending, "合計 / 売上"
        
End Sub

では、VBAコードを実行してみます。

VBAで「支店」ラベルの「値」を「降順」に並び替え

VBAで「支店」ラベルの「値」を「降順」に並び替えができました。

おわりに

この記事では、VBAでピボットテーブルを並び替えする方法について、ご紹介しました。

ピボットテーブルで並び替えする箇所は、2つあります。

  • ラベル
  • ラベルの値

という感じです。

VBAで並び替えをする場合は、「AutoSort」を使って並び替えをします。

「ラベル」を並び替えしたい場合は、「ラベル名」を使います。

「ラベルの値」を並び替えしたい場合は、「ラベル名」と「値の名前」を使うとできます。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

アーカイブから探す