2017-05-24 34 views
1

私は、Excelファイルを開き、与えられた数の行をインポートし、ピボットテーブルの行をペーストするユーザーフォームを開発しています。残念ながら、これらの新しい行を古いものとマージするためにピボット・テーブルをリフレッシュする方法はわかりません。VBAでピボットテーブルを更新するにはどうすればよいですか?

もし私が基本的な知識しか持っておらず、このプロジェクトを達成したいと思っている人があれば、助けてくれれば幸いです。

+1

チェックアウトhttps://stackoverflow.com/questions/70947/how-can-i-refresh-all-the-pivot-tables-in-my-excel-workbook-with-a-macro –

答えて

0

行をピボット・テーブルに貼り付ける(追加する)ことはできません。ピボットテーブルに格納するには、ピボットテーブルが参照する場所に生データを追加する必要があります。

重要なのは、ピボットテーブルの設定方法です。 「A1:G800」ではなく「A:G」のような範囲を使用して、後で追加される行がピボット・テーブルに含まれるようにする必要があります。

このようにピボットテーブルを設定すると、スプレッドシートを更新すると生データが追加された後、ピボットテーブルが更新され、新しく追加されたデータがそのデータに追加されます。

Count if for excel VBA, and printing results in another range

P.S.:以下のリンクで

、私は、この目的のために、ピボットテーブルを設定する方法にはいくつかのスクリーンショットを持っています@Roryで述べたように、ピボットテーブルの列全体を使用するのは効率的ではありません。 「名前付き範囲」または「テーブル」を使用することをお勧めします。

+0

列全体を使用するピボット・テーブルのソース・データが非効率であり、避けるべきです。代わりに動的名前付き範囲またはテーブルを使用してください。 – Rory

+0

@Roryステップバイステップの教えはどうですか?あなたは、小学校から大学卒で卒業しません。私はそれが効率的ではないとあなたに同意しますが、1日のレッスンは私の戦略です。私は答えの最後にあなたのポイントを含めました。ありがとう。 – Masoud

+0

非効率的であることとは別に、後でフィルタリングする必要がある(空白の)エントリも導入されています。これは、注意しない限り、新しいアイテムを追加するときに問題を引き起こす可能性があります。以前に見えなかったアイテムもすべて除外されます。テーブルやダイナミックレンジは確かに望ましいアプローチです。 – CLR

関連する問題