2016-07-07 10 views
0

異なるワークシートの情報を集計ワークシートにコピーして集計しようとしています。具体的には、sheet3のセルO3とO4をそれぞれsheet1のセルD3とE3にコピーしようとしています。それから私は上に移動して、セルO3とO4をシート4からシートD4とE4にコピーしてシート1にコピーしたいと思います。ループを使用したマクロのコピー&ペースト

私はマクロコーディングに全く新しいので、本当に助けていただければ幸いです。私は、ループを使用しなければならないと仮定しています。

P.Sワークシートは、コードに影響を与える企業(たとえば "DataGroup"ではなく "Sheet3")の名前になりますか?

+0

あなたはこれまでに何をしていますか?これをチェックして[リンク](http://stackoverflow.com/questions/37107574/copy-and-paste-specific-cells-from-one-worksheet-to-another) –

+0

マクロレコーダーの電源を入れてください上記の手順を実行してください。これはあなたにいくつかのコードを提供し、次に[どのように '.Select'を回避するかを読む](http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba -macros)を使ってそれを強化し、データを直接操作する方法を学びます。 – BruceWayne

+0

フォーマットをコピーする必要がない場合は、Excelでコピー&ペーストを使用しないでください。セル/範囲とその値を使用して設定してください。 – Mono

答えて

1

シートをループする場合は、明示的に参照する必要はありません。Sheets("DataGroup")Sheets(1)を使用すると、各整数で簡単にループすることができます。

あなたには、いくつかのワークシートを含むワークブックを持っており、そのうちの一つがSummary呼び出された場合

Sub Copying() 
Dim i As Integer, j As Integer 
j = Sheets.Count 
For i = 2 To j 
    Sheets(1).Range("D" & i + 1) = Sheets(i).Range("O3").Value 
    Sheets(1).Range("E" & i + 1) = Sheets(i).Range("O4").Value 
Next i 
End Sub 
+0

絶対に必要な場合を除き、コピー&ペースト、選択と起動の機能を使用しないでください。コピー&ペーストでクリップボードが消去され、通常は「フリッカー」マクロが表示されます。 .Valuesの範囲を使用し、それらを他の範囲に割り当てます。 – Mono

+0

私は彼がループの助けを借りていたと思うが、私はあなたの意見を得てそれに応じて編集するだろうが、それは質問に答えたので必ず下投票を保証するものではない... –

+0

質問に答えることは一つのことだが、悪い習慣につながる答えより良い。 – Mono

1

は、このコードはSummaryの列Aに他のワークシートのそれぞれからセルA1の値をコピーします。あなたのニーズに合わせてこれを適応させることができます。

関連する問題