質問

私はExcelでVBAスクリプトを符号化し、これまでの情報を持つデータシートに新しいデータを追加しました。そうする前に、新しいデータは暫定データシートにコピーされます。重複を防ぐために、追加の列を作成し、IDのvlookupを実行します。新しいインポートされたデータからのIDが既に古いデータを含むデータシートにすでにデータシートにある場合、この行は重複してマークされ、削除されます。その後、「重複しない行」が最後のデータシートにコピーされます。ここで、すべてのデータが保存されます。

今すぐvlookupの列参照(A:A)を使用すると、これがVBAスクリプトが毎日リソースと実行時間を必要とする理由であるかどうかわかりません。初めてコーディングしたときは、元のデータシートに4,000行以内、インポートされたデータに4,000行を使用してテストを行いました。マクロは90秒後に行われました。今、それは5分以上必要であり、データを含むデータシートはわずか40,000行の大きさですが、新しいデータは常におよそ4,000行です。

a:aを使用する代わりにvlookupの範囲を動的に参照する必要があります。

役に立ちましたか?

解決

私のコメントに述べたように、確かにVBAを使ってこのタスクを達成する方法はありますが、時には最も簡単な解決策が最善です。私は毎回40kレコードをすべて追加し、あなたの固有の値を保持する列を使用して「データ」リボンの下の「削除」の「重複」関数を使用します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top