| 
    
     |  | >MatchingのアルゴリズムをDo…Loopで書かれている >このコードはどのような意味を指すのでしょうか?
 
 そんな難しいものではありませんよ。
 配列vntList1とvntList2があり、双方のDataがSort済みであるとします。
 (わかりやすいように、dataはすべて数値だとします。)
 
 で、最初から順番に大小を比べていくわけですが、
 vntList1が大きい場合には、vntList2のDataを一個進める
 vntList1が小さい場合には、vntList1のDataを一個進める
 双方が一致した場合には処理を行う
 こんな感じです。
 
 このようなアルゴリズムですと、Data全件をMatchingするのに
 双方の配列の要素数だけLoopすることになるので、処理が高速化されます。
 
 つまり、Loop回数は
 vntList1の要素数 + vntList2の要素数 回
 
 2重Loopして全件Matchingするときとでは速度がダンチです。
 
 For i = 1 To UBound(vntList1)
 For j = 1 To UBound(vntList2)
 If vntList1(i) = vntList(j) Then
 Next j
 Next i
 
 これだと、vntList1の要素数 * vntList2の要素数 回
 Loopすることになりますよね?
 
 |  |