2017-12-12 14 views
-2

2つのシート - 1つの「登録」と1つの「要約」 - そして、私はマクロボタンに付けることができるVBAスクリプトが必要です。 )を要約シートの列Dと比較します。生データを登録する

一致がある場合は、要約シートの同じ行の列Lにセルをコピーするだけでなく、行の緑色に色付けすると同時に、登録シートのセルから列Qにペーストする - Q列の値がすでに上に追加されている場合(登録シートのプラン番号は一意ですが、要約シートに複数のエントリがある可能性があります)。

次に、O列の次のセルにループして、次の一致を試してみます。

+0

を一意の列をループしてみて、直接(要約を介して他のループ)または 'WorksheetFunction.Match'経由を経由して、それを比較します。 これまでに何を試しましたか? – prextor

+5

これは「*私が欲しいものを教え、他の人は私のために*する」ウェブサイトではないことをご理解ください。したがって、すでに試したことを示す必要があります。あなたの質問を[編集]し、あなたが試したコードを追加して、正確にどこに行き詰まっていたのか、何かエラーがあったのか、どこで(そしてコードのどこに)いるのか教えてください。 [質問]と[なぜ誰かが私を助けることができますか?実際の質問ではありませんか?](https://meta.stackoverflow.com/a/284237/3219613)を読んで質問を改善することができます。 –

+1

これを行うには単に 'VLOOKUP'を使用できませんか? –

答えて

0

これは、あなたが求めているものを行います。

Sub foo() 
Dim RegisterLastRow As Long 
Dim SummaryLastRow As Long 
Dim UniqueLookUp As Variant 
RegisterLastRow = Sheets("Register").Cells(Sheets("Register").Rows.Count, "A").End(xlUp).Row 'get the last row with data in Register 
SummaryLastRow = Sheets("Summary").Cells(Sheets("Summary").Rows.Count, "A").End(xlUp).Row ' get the last row with data in Summary 

For x = 2 To RegisterLastRow 'loop through Register from row 2 to end (excluding headers) 
    UniqueLookUp = Sheets("Register").Cells(x, 15).Value 'get the unique value from column 15 = Column O 
    For y = 2 To SummaryLastRow 'loop through Summary from row 2 to end (to exclude headers) 
     If Sheets("Summary").Cells(y, 4).Value = UniqueLookUp Then 'if values match 
      Sheets("Summary").Cells(y, 4).EntireRow.Interior.ColorIndex = 4 'color row in green 
      Sheets("Register").Cells(x, 17).Value = Val(Sheets("Register").Cells(x, 17).Value) + Val(Sheets("Summary").Cells(y, 12).Value) 'add the values to column Q =17 on Register from Summary column L = 12 
     End If 
    Next y 
Next x 
End Sub 
+0

あなたは、天才です。あなたに非常に感謝します! –

関連する問題