[[20040521131039]] 『ピボットテーブル』(HISA) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ピボットテーブル』(HISA)

ピボットテーブルをマクロの自動記録したのですが、集計するごとに指定する範囲が違う(列数は同じで行数が増える)ので範囲を指定するメッセージボックスを表示させることはできますか?または毎回データの入力されてるセル全体が選択されるといいのですが・・・

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _

        "統計!R1C1:R75C5").CreatePivotTable TableDestination:="", TableName:= _
        "ピボットテーブル2", DefaultVersion:=xlPivotTableVersion10

上記のコードの R1C1:R75C75 この部分をなんとかしたいのですが、できるのでしょうか?


 範囲選択時に、ctrl + shift + ↓ などの ショートカットキーを使っては如何ですか?

  (INA)


マクロではなくて手動で作成するときは ctrl + shift + ↓ でいいのですが、

マクロのコードをいじって、入力されているデータを全て選択というのはできないのでしょうか?

(HISA)


 範囲選択時に、ctrl + shift + ↓ などの ショートカットキーを使って
 >マクロの自動記録
 しては如何ですか?

  (INA)


だめでした・・・

データを仮に増やして試したのですが、

前回ctrl + shift + ↓で指定した部分のみが実行されてしまいます。

(HISA)


 A1〜 E の最下行までなら

 E1 を選択。
 ctrl + shift + ←
 して、
 ctrl + shift + ↓
 でいいのでは?

  (INA)


自動記録時に ctrl + shift + ←  ctrl + shift + ↓ で範囲を指定してるのですが、

やはりデータが追加されてしまうと記録した時のセル範囲しか集計されません・・・

(HISA)


 >自動記録時に ctrl + shift + ←  ctrl + shift + ↓ で範囲を指定してるのですが、
 どのようなコードを使っているか、掲載して頂けませんか?

  (INA)


おはようございます。
土曜日曜お休みでしたので、返事が遅くなりました。

自動記録で作成されたコードです。

Sub 集計ピボットテーブル作成()

    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        "統計!R1C1:R75C5").CreatePivotTable TableDestination:="", TableName:= _
        "ピボットテーブル6", DefaultVersion:=xlPivotTableVersion10
    ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
    ActiveSheet.Cells(3, 1).Select
    ActiveWorkbook.ShowPivotTableFieldList = True
    With ActiveSheet.PivotTables("ピボットテーブル6").PivotFields("月度")
        .Orientation = xlPageField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("ピボットテーブル6").PivotFields("担当者名")
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("ピボットテーブル6").PivotFields("商品コード")
        .Orientation = xlRowField
        .Position = 2
    End With
    ActiveSheet.PivotTables("ピボットテーブル6").AddDataField ActiveSheet.PivotTables( _
        "ピボットテーブル6").PivotFields("数量"), "合計 / 数量", xlSum
    ActiveSheet.PivotTables("ピボットテーブル6").AddDataField ActiveSheet.PivotTables( _
        "ピボットテーブル6").PivotFields("売上金額"), "合計 / 売上金額", xlSum
    ActiveWorkbook.ShowPivotTableFieldList = False
End Sub

基になるデータは

    A      B         C        D          E

1  月度    担当者    商品コード     数量        売上金額

このような形です。(hisa)


 >SourceData:= "統計!R1C1:R75C5"
    ↓
 SourceData:= "統計!A1:E" & Range("E65536").End(xlup).Row

 にすると、如何でしょうか?

  (INA)


できました。
INAさん、どうもありがとうございました。(HISA)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.