1

複数のワークシートから一致するデータを 1 つのシートにコピーするためのコードを書くためのヘルプを探すのにしばらく時間を費やしましたが、私が見つけた同様のことを行った唯一のものはここにありました:一致を検索、シート 1 から行をコピー、シート 2 に挿入

自分のニーズに合わせて調整しようとしましたが、VBA が苦手で、思いどおりに動作させることができませんでした。どんな助けでも大歓迎です。

私が持っているのは、4 つのワークシートを含むワークブックです。MasterFescoMonthlySchedule、およびFescoData。これらのワークシートは顧客から送られてくるのでインポートできますが、問題の一部であるレイアウトを変更したくありません。マクロで、すべてのワークシートで一致するメーター番号を検索し、特定の行を という新しいワークシートにコピーする必要がありますCombined

ワークシートでは、Master行 5 から下 (現在は 1982 年ですが、さらに追加することができます) と列 A から F まですべてをコピーする必要があります。 -----列 A はメーター番号です。

ワークシートでは、FescoMonthly列 D (メーター番号) からメイン ワークシートの列 A に同一のメーター番号を一致させることにより、行 5 を下部と列 A から H にコピーする必要があります。

ワークシートでは、Schedule列 A (メーター番号) をメイン ワークシートの列 A に一致させて、行 5 を下部に、列 A から D にコピーする必要があります。

ワークシートでは、FescoData列 A (メーター番号) をメイン ワークシートの列 A に一致させて、行 5 を下部に、列 A から C にコピーする必要があります。

誰かがマッチングとコピーだけで私を助けてくれればMasterFescoMonthly他の方法を理解でき、自分の作品を再投稿して、自分が正しく行っているかどうかを確認できると思います.

4

1 に答える 1

0

コピーするデータを含むワークシートにshtを設定します
。ターゲットワークシートにtrgを
設定します。colCountをコピーする列数に設定します。

Set rng = sht.Range(sht.Cells(5, 1), sht.Cells(65536, 1).End(xlUp).Resize(, colCount)) 
' start at row 5, then get the last row with data, and then expand to the  number of columns
trg.Cells(65536, 1).End(xlUp).Offset(1).Resize(rng.Rows.Count, rng.Columns.Count).Value = rng.Value 
' find last unused cell in first column, and copy the data there

(Excel 2007以降では65536ではなく1048576を使用してください)

于 2012-05-29T19:17:57.667 に答える