私はこれでしばらく前から立ち往生していました。私が必要とするのは、タイトルです - 私が持っているものは:(VBA)対応する行の値の指定した日付範囲の列値を抽出してコピーして貼り付けます
シート1:
10億はほとんど不要な列です。
Column D: Values I need Column F: Column M:
Revenue Names Date
12 John 1/24/2016 2:40:02 AM
15 Sarah 3/2/2016 4:35:17 PM
14 Sarah 7/17/2016 1:50:10 PM
20 Matt 8/20/2012 4:16:12 AM
10 John 11/19/2015 5:04:05 AM
etc. etc.
現在シート2:ピボットテーブル*
Row Label:
Sarah
Matt
John
etc.
理想シート2 ピボットテーブル+ *
Row Label: Column __:
Revenue
Sarah 29
Matt 0 *(note: see below, but = 0 because Matts value corresponded to date 2012)
John 22
etc.
シート2について重要なことは、ということですをお願いします。 VBAにシート内のもっとも近い空の列を見つけ、S1から列Dの値を入力し(そして重複の合計)、今日の日付から11ヶ月前の範囲の合計と抽出値のみを入力します。現在、次のシートのピボットテーブルを自動的に作成するモジュールを作成しましたが、ちょっと止まったまま上記を追加したかったのです。
また、対応する行ラベル名のデータを抽出するようにVBAに指示すると、合計を指定する必要はないとも仮定しています。そして、私は、シート2にBegin DateとEnd Dateセルを参照するか、TODAY()関数を何らかの形で日付に使うことを考えていましたが、今日の日付範囲の値を抽出して合計する方法を明確にしていません11ヶ月前。
編集:*これは私の現在の状態のダウンバージョンであり、混乱を避けるためにすべてが大きくなっていますので、ピボットは必要ですが、この問題のために希釈することを選択します。
なぜピボットテーブルを使用しますか?重複する名前を削除したいからですか? – Rosetta
すべての生データにピボット・テーブルを配置し、ピボット結果をフィルタするほうが簡単です。ここでVBAがどこに価値を追加するかはっきりしていませんか?パフォーマンスを向上させることですか?あなたの現在のVBAはどのように機能しますか?データのサブセットを新しいタブにコピーしてからピボットしますか? –
@ destination-data - 2番目の質問にはい。別の理由からピボットテーブルが必要なのは、データファイルの量が多いソースファイルのサブセットを取得するためですが、VBAと連動させたい次の空の列がソリューションの一部です。たとえば、2 + 3 = 5に平行して、この列を生成するには、VBAを3にします。ピボットをフィルタリングしますが、ソースファイルからその「列D」を追加しようとすると、Excelが教えてくれますピボットするには大きすぎます。 – S31