2017-03-13 18 views
0

次の条件に基づいていくつかのフィールドを入力する簡単な方法を探しています。 (画像参照)条件に基づいてExcelフィールドのブロックをコピーする

私は3列のリストを持っています。列Aの文字に応じて列Cを塗りつぶす必要があります。私がC34に行くと、上記の行を自動的に検索し、列Aの文字に基づいて上記の最新の11の名前をコピーします。したがって、C34〜C44では、C1〜C11の名前がブロックとしてコピーされます。

これはExcelで実行できる機能はありますか?

Data Screenshot is here

答えて

1

あなたの問題を解決するために、ループFOR 2 で簡単なVBAマクロを使用することができます。

Sub CompleteRows() 
Dim lastrow As Long 

lastrow = Cells(Rows.Count, "A").End(xlUp).Row 'finds last row in column A 

For x = 1 To lastrow 'loop that starts with value 1 and goes all the way to the value of lastrow 
    If Cells(x, 3).Value = "" Then 'if value in column C is empty then continue on 
     For y = 1 To lastrow 'second loop that runs through the same range 
      If Cells(y, 1).Value = Cells(x, 1).Value And Cells(y, 2).Value = Cells(x, 2).Value Then 
      'If the value of the first column and the value of the second 
      'column for both values match, then add value to column C 
       Cells(x, 3).Value = Cells(y, 3).Value 
       Exit For 'Exit loop if value was found 
      End If 
     Next y 
    End If 
Next x 
End Sub 
+0

感謝を!スクリプトが何をしているか説明してもらえますか? – Tom

+0

コメントを見るこれが役に立ったら教えてください。 –

+0

ありがとう、これは非常に便利です! – Tom

関連する問題