|
[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")
とすれば善いと思います
|
|