私が書いたVBAコードを修正するのに少し助けが必要です。質問:
sheet1に3つの列(「名前」、「ID」、「名前データ」)を持つExcelファイルがあります。「名前データ」は空白の列です。
Name ID Name Data
Albert 4235
John 4237
Robert 4239
Micky 4241
Minnie 4243
Donalid 4245
Edited 4247
Goofy 4249
シート2には、IDが1つしかない同様のID列があります。例:
ID
4243
シート2のID値(この例では「4243」)をシート1のID値と一致させるvlookupコードがあり、そのIDに関連付けられた名前をsheet1の「名前データ」にコピーします。最終結果は次のようになります。
Name ID Name Data
Albert 4235
John 4237
Robert 4239
Micky 4241
Minnie 4243 Minnie
Donalid 4245
Edited 4247
Goofy 4249
問題:このコードの問題は、「名前データ」の下の最初のセルに名前がコピーされることです。例:次のことを行います。
Name ID Name Data
Albert 4235 Minnie
John 4237
Robert 4239
Micky 4241
Minnie 4243
Donalid 4245
Edited 4247
Goofy 4249
名前「minnie」は、1行目(見出し行を除く)ではなく、「Namedata」の下の5行目にコピーする必要があります。
誰かが私にコードで何を修正するかを提案できますか?
トンありがとう!
コードは次のとおりです。
Sub lookup()
x = 2
Set rng1 = Worksheets("Sheet1").Range("b4:b8")
Set rng2 = Worksheets("Sheet2").Range("A2:A2")
For Each c1 In rng1
For Each c2 In rng2
If c1.Value = c2.Value Then
Worksheets("sheet1").Cells(x, 3).Value = c2.Value
If c1.Value <> c2.Value Then
Worksheets("Sheet1").Cells(x, 3).Value = Worksheets("Sheet1").Cells(x, 3).Value
x = x + 1
End If
End If
Next
Next
End Sub
私はそれがこの行と関係があることを知っています:
Worksheets("sheet1").Cells(x, 3).Value = c2.Value
しかし、私は何を理解することができません。