| 
    
     |  | [25644]の質問 >エクセルデータで3つのコードを付けたデータ(Sheet1)
 >
 >Aコード00001・Bコード001・Cコード010
 >Aコード00001・Bコード002・Cコード010
 >Aコード00002・Bコード001・Cコード010
 >     ・     ・     ・
 >     ・     ・     ・
 >
 >に別のコードを付けたシートがあります。(Sheet2)
 >
 >Aコード00001・Bコード001・Cコード010  は Dコード001
 >Aコード00001・Bコード002・Cコード010  は Dコード001
 >Aコード00002・Bコード001・Cコード010  は Dコード002
 >
 >2つのシートを紐付けて元のデータに新しいコードを振りたいのですが
 >どうしたらいいでしょうか
 
 [25689]の質問
 >こんばんは。
 >
 >私の説明不足だったようです。。。
 >
 >作業としては
 >
 >Sheet1に、Aコード、Bコード、Cコード、Dコードがあります。
 >
 >Sheet 2の、Aコード、Bコード、Cコード、が
 >Sheet 1の、Aコード且つ、Bコード且つ、Cコードと合致するものには
 >Sheet 1の、同じ行のDコードを付けるという流れなんです…
 >
 >元データのSheet 2にはDコードは存在しません。
 >
 >アドバイスいただいたモジュールとはまったく違う流れでしょうか?
 
 [25690]の質問
 >▼Hirofumi さん:
 >追加です。。。
 >
 >Sheet 2にはAコード、Bコード、Cコードが重複する物が複数存在します。
 >重複しても
 >Sheet 1のAコード且つ、Bコード且つ、Cコードと合致するものにはDコードを振ります。
 >Sheet 2には全てのデータにDコードが追記された形にしたいのです。
 >よろしくお願いいたします。
 
 [25644]と[25689]、[25690]の時で、Sheet1とSheet2が入れ替わっていますね?
 
 [25658]の私の回答
 >どのシートから探して、どのシートのどの列に書き込むのか解らないので?
 >Sheet1、Sheet2が以下の様で、Sheet1のAコード、Bコード、Cコードを
 >Sheet2因り探索して、Sheet1のD列に書きこむとしています
 >
 >Sheet1
 >  A     B     C
 >1 Aコード  Bコード  Cコード
 >2 00001   001    010
 >3 00001   002    010
 >4 00002   001    010
 >5 ・     ・     ・
 >
 >Sheet2
 >  A     B     C     D
 >1 Aコード  Bコード  Cコード  Dコード
 >2 00001   001    010    001
 >3 00001   002    010    001
 >4 00002   001    010    002
 >5 ・     ・     ・    ・
 
 私のコードでは、最初の質問で、作っているので、Sheet2にDコード有り、
 Sheet1のAコード且つ、Bコード且つ、CコードをSheet2から探して、
 Sheet1にDコードを振るようにして有ります(Sheet1のKey重複はOK)
 
 詰まり、最初のコードのSheet1とSheet2を入換えれば善いだけと思います
 変更箇所は、
 
 Dim strProm As String
 
 'Sheet2のList先頭セルを指定(列見出しの左上隅)
 '  With Worksheets("Sheet2").Cells(1, "A")
 With Worksheets("Sheet1").Cells(1, "A")
 
 と、
 
 End With
 
 'Sheet1のList先頭セルを指定(列見出しの左上隅)
 '  Set rngResult = Worksheets("Sheet1").Cells(1, "A")
 Set rngResult = Worksheets("Sheet2").Cells(1, "A")
 
 とすれば善いと思います
 
 
 |  |