2012-03-02 23 views
0

Excelファイルに5枚あります。この5枚のうち、1枚は、他の4枚にコピーしたいすべてのデータを持つマスターシートです。 すべてのシートには1つの共通列IDがあります。マスターには10000を超えるIDがあります。1つのExcelシートから別のExcelシートへの列のコピー

は、私は何をしたいです:

IDであればマスターシートで、シート1 = 24356 = IDで、その後Sheet1のためにマスターシートからX、Y、Zの列をコピーします。これは他のすべてのシートでも同じです。

また、マスターシートは残りのシートよりも他のソースからのものであるため、そのフォーマットは異なります。コピー/貼り付けを実行する前にシート内のすべての書式を削除する方法はありますか?

これを行うには、誰でもVBAコードを教えてください。

このように私のマスターシートがどのように見えるかです:私が見えるように、この場合には、他のシート(たとえばシート1)をしたい enter image description hereenter image description here

がで検索式を入力せずにこれを行うことが可能ですすべての細胞?

答えて

0

私が正しく理解していれば、実際にはこれのためにマクロを使う必要はないと思います。

enter image description here

とあなたの様々なシートが列AのIDを持っている:

enter image description here

あなたはB1でこれを置くことができます:

=IF(ISNA(VLOOKUP($A1,MasterSheet!$A:$D,2,FALSE)),"",VLOOKUP($A1,MasterSheet!$A:$D,2,FALSE)) 
のは、あなたのMasterSheetのようなものであると言う てみよう

次に、VLOOKUPの戻り列を列ごとにインクリメントします。

=IF(ISNA(VLOOKUP($A1,MasterSheet!$A:$D,**3**,FALSE)),"",VLOOKUP($A1,MasterSheet!$A:$D,**3**,FALSE)) 

結果:あなたはおそらく、IDは(マッチのような)が存在するかどうかを確認するために、ルックアップのためのより良い/より速く計算式を使用する必要があります

enter image description here

...

・ホープこのことができます。

乾杯、等方性@

イソ

+0

:本当にありがとうございました。これは完璧にうまくいった。私が持っている唯一の質問は、非常に多くのIDがExcelシートにあり、毎月増え続けるということです。多くの列があるように、すべてのセルにマクロを追加することなく、永続的な解決策であるものを私に提案できますか?また、マスタシートは異なるスクロールからのものであるため、そのフォーマットは常に乱雑です。すべてのシートからすべての書式を削除する方法がありますか(すべての変数を数値に整形するなど)。私はあなたの回答に感謝します。ありがとう – Nupur

+0

増分をcolumn()で置き換えることができます:= IF(ISNA(VLOOKUP($ A1、MasterSheet!$ A:$ D、COLUMN()、FALSE))、 ""、VLOOKUP($ A1、MasterSheet!$ A:$ D、COLUMN()、FALSE))またはcolumn()+のようなものをインクリメントしていくと、ボード全体に適用できるはずです。値/ IDの数は、列全体を常に調べる(特定の行範囲が定義されていない)ため、問題はありません。サンプル文書を見せることができれば役に立ちます – isotrope

+0

@ Isotrope:ありがとう!私は上記の私の質問に例があります。マスターシートのすべての列を他のシートにコピーしたくないので、この式では列をスキップできません。すべてのセルに数式を追加したり、すべてではなくすべての列だけをコピーしたりすることなく、これを行う方法はありますか? – Nupur

関連する問題