2016-08-12 9 views
1

PT_DataとSuspectsの2つのテーブルがあります。各テーブルは最初の列としてEmp_Nameを持ち、2番目の列は可変です。私は、PT_DataからEmp_NameをSuspectsのEmp_Nameに一致させ、対応する値をSuspectsテーブルからPT_DataテーブルのB列に更新したいと思います。Forループを使用したマッチングデータのコピー

これは私が書いたコードです。

  lastrowall = Sheets("Monthly Deals").Range("A1", Sheets("Monthly Deals").Range("A" & Rows.Count).End(xlUp)).Rows.Count 
      lastrowsuspects = Sheets("Suspects").Range("A1", Sheets("Suspects").Range("A" & Rows.Count).End(xlUp)).Rows.Count 


      For i = 1 To lastrowall 
      For j = 1 To lastrowsuspects 
       'MsgBox Sheets("PT_Data").Range("A" & i).Value 
        If Sheets("PT_Data").Range("A" & i).Value = Sheets("Suspects").Range("A" & j).Value Then 
        Sheets("Suspects").Range("B" & j).Copy Destination:=Sheets("PT_Data").Range("B" & i).PasteSpecial 
       End If 
      Next j 
      Next i 

しかし、一致が見つかると、VBは "アプリケーション定義またはオブジェクト定義エラー"を返します。何かご意見は?

答えて

1

変更

Sheets("Suspects").Range("B" & j).Copy Destination:=Sheets("PT_Data").Range("B" & i).PasteSpecial

'~~> To paste values 
Sheets("Suspects").Range("B" & j).Copy 
Sheets("PT_Data").Range("B" & i).PasteSpecial xlPasteValues 

またはすべてが、ところであなたは、このため数式を使用することができます

Sheets("Suspects").Range("B" & j).Copy _ 
Destination:=Sheets("PT_Data").Range("B" & i) 

を使用し貼り付けます。 VBA不要です。下記のようにVlookupを使用してください。この数式をセルB1のPT_Dataに入れてドラッグします。

=VLOOKUP(A1,Suspects!A:B,2,0) 
+1

Woohoo!魅力のように動作します!ありがとう、シッダース! – Tanmoy

関連する問題