| 
    
     |  | 補足でピボットテーブルの作成手順 1)一行目に項目名を入力し、表を以下のようにします。
 A
 1 項目名
 2 a
 3 b
 4 a
 5 a
 
 2)A列を選択します。
 3)メニューで データ→ピボットテーブルとピボットグラフレポートを選択
 4)ウィザードの1/3,2/3はそのまま「次へ」を選択。
 3/3で既存のワークシートを選択し、別シートのA1を選択して完了。
 5)仮に4)の既存のワークシートをSheet2にした場合、Sheet2にピボットテーブルの
 テンプレートみたいなのが出てくるので、項目名を行のフィールドとデータアイテムの
 所にドラッグアンドドロップします。すると、以下のような表が出来ます。
 
 データの個数 / タイトル
 タイトル 合計
 a     3
 b     1
 (空白)
 総計   4
 
 6)ピボットテーブルのどこかを右クリックし、オプションを選択。
 名前を「一列目」に変更します。
 総計が不要なら、「列の総計」のチェックをはずします。
 7)また右クリックし、今度はフィールドの設定を選択。右側の詳細ボタンを押し、
 自動並べ替えオプションを降順、使用するフィールドを「データの個数 / 項目名」
 に変更します。
 8)項目名の右にある▼をクリックすると、フィールドのリストが出てくるので、
 (空白)のところのチェックをはずします。
 9)最後に、元データのあるシートのChangeイベントを以下のように作成します。
 (ピボットテーブルを更新してるだけです。)
 Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Column = 1 Then Sheets("Sheet2").PivotTables("一列目").PivotCache.Refresh
 End Sub
 これで、元データのシートに項目を追加すると、自動でピボットテーブルが
 更新されます。
 
 これを、他の列も同様の手順で設定するだけです。
 ChangeイベントのIf Target.Column = 1 Then は、「一列目だったら」という
 意味なので、二列目の場合は、2に変更したものを追加します。
 PivotTables("一列目")のカッコ内は、6)で付けた名前を指定します。
 
 複数列同時に設定出来そうな気がするのですが、私にはやり方がよくわかりません。
 
 |  |