| 
    
     |  | ▼yumi さん: >▼ぴかる さん
 横から失礼します。
 For I = 1 To 3
 For J = 1 To 数万件
 If Cells(1, I).Value = Sheets("データ").Cells(J, 1).Value Then
 Cells(2, I).Value = Sheets("データ").Cells(J, 2).Value
 End If
 Next
 Next
 ですとCells(1, I).Value = Sheets("データ").Cells(J, 1).Valueが一致した後も
 For Jが数万件分実行されるため時間がかかります。
 If Cells(1, I).Value = Sheets("データ").Cells(J, 1).Value Then
 Cells(2, I).Value = Sheets("データ").Cells(J, 2).Value
 Exit For ’<===追加
 End If
 とすると少し早くなると思います。さらに頻度の高い検索対象のデータを
 上部に配置すると効果が大きくなります。
 
 あと、画面表示の更新を一時的に停止する、配列に取り込み処理して一括書き出し
 などあると思います。
 
 >
 >早速の返信ありがとうございます。
 >なるほどですー。
 >列の件数などは固定ではなくて変動しそうなので
 >そこのloopの部分は頑張って見ますね。
 >
 >1点だけ分かれば教えてください。
 >「データ」のシート方なのですが、検索対象のデータが
 >数万件ありまして、nextで回すと想像より時間がかかってしまいました。
 >その他のやり方もありますでしょうか。
 >
 >よろしくお願いします。
 
 |  |