質問: 照合した結果によって決めた値を転記するマクロ シート1には a~f列まで値があり、行数は都度相違し約15,000行くらい。 データは2行目から開始です。 シート2には a~ae列まで値があり、行数は都度相違し約5,000~25,000行 あり同じくデータは2行目からです。 シート1の行ごとに a列,b列,c列の順で連結した値と シート2の行ごとに f列,g列,b列の順で連結した値を 照合させます。 その値が (1)シート1にもシート2にもある場合は シート2のaf列に1と転記 (2)シート1には無いがシート2にはある場合は シート2のaf列に2と転記 (3)シート1には有るがシート2には無い場合は シート2のaf列に3と記入 シート2のデータのある行まで 作業を繰り返すマクロの記述を教えてください。 vlookupを使用したマクロを作成しましたが 判定1,2,3の転記がうまく出来ないのと vlookupが重すぎて処理が遅すぎるので 速く処理が出来るとうれしいです。 例 シート1 a2=xxxx b2=1234 c2=5678 シ-ト2 b2=1234 f2=xxxx g2=5678 シート1の値=xxxx12345678 シート2の値=xxxx12345678 照合する ↓(一致なので) シート2のセルaf2に1と転記
回答: 補足読みました。 sheet2のキーの順番が違うのだと思います。 質問では次のように成っています。 >シ-ト2 >b2=1234 >f2=xxxx >g2=5678 >シート1の値=xxxx12345678 >シート2の値=xxxx12345678 それで、sheet1のきーは、a列→ b列→ c列 それで、sheet2のきーは、f列→ b列→ g列 このようになっているか、確認してください。 merlionxx さんも同じ質問をやっているんですよね。 回答番号10のtest04を流しました。 まったく違う結果になりましたので、見直してみるとキーの順番が違いました。 それで次のように変更して流すと、同じ結果になりました。 for i = 1 to uw myw2(i, 1) = myw(i, 5) & "-" & myw(i, 1) & "-" & myw(i, 6) next i では、よろしくお願いします。