2016-06-29 4 views
-1

私は何が問題になっているのか簡単な説明があります。列に一致する値が見つかり、vlookupまたはadressの一致で更新されています

カラムA:100名(各名前が2回存在する) 列Bのリスト:名前に関連付けられた電子メールアドレス(それぞれの名前がemailadressを持っている)

例:

 A1: James B1:[email protected] 

     A10: James B10:[email protected] 

だから私はしたいですこの=== >>

 A1:James B1:[email protected] 

基本的に私は時に列に2つの値が一致し、VLOOKUP使用するか、メールアドレスを更新するadressmatchしたい取得します。

どうすればいいですか?

+0

同じ行に対応するエントリはありますか? –

+0

あなたは一致する名前の値を意味しますか?それらは両方とも列Aにあるはずです –

+0

一致する列Aと同じ2番目の値を検索し、次にist列Bの値を取得して列Aの列Bに書き込む必要があります最初に一致する値 –

答えて

0

以下のコードで

注意してみてください:列Aそれぞれの名前がA列の名前を1回表示された場合のみ

それがBで新しいものとみなされます2回を持っている場合、それは動作しますカラム。

Sub test() 
    Dim lastrow As Long 
    Dim incre As Long 
    Dim flag As String 
    flag = "no" 
    lastrow = Range("A" & Rows.Count).End(xlUp).Row 
    incre = 1 
    ReDim names(lastrow, 2) As String 
    For i = 1 To lastrow 
     names(i, 1) = Range("A" & i).Value 
     names(i, 2) = Range("B" & i).Value 
    Next i 
    For i = 1 To lastrow 
     For j = i + 1 To lastrow 
      If names(i, 1) = names(j, 1) Then 
       flag = "yes" 
       Range("C" & incre) = names(j, 1) & " Value: " & names(j, 2) 
       incre = incre + 1 
      End If 
     Next j 
     If flag = "no" Then 
      Range("C" & incre) = names(i, 1) & " Value: " & names(i, 2) 
     Else 
      flag = "no" 
     End If 
    Next i 
End Sub 

enter image description here

enter image description here

関連する問題