| 
    
     |  | Hirofumi さん、有難う御座います。 
 >コードにコメントも書いて無いので、推測の部分が多々有ります
 >特に、「fncGetSheetData」で、どの様なデータで、
 >どうやって取得しているのか善く解りません
 推測でやってもらい、申し訳御座いませんでした。
 問題なく動作し、処理速度も大幅に改善しました。
 有難う御座います。
 
 >vntSheet1、vntSheet2のIDがMatchした場合、各列の値を比較し違っている時
 IDをkeyにしていますが、選択で文字もID同様にMatchしています。
 文字の場合も同様のやり方(現在、作成中)で宜しいのでしょうか。
 
 >また、「fncGetSheetData」のデータ取得方法が善く解らない為、
 他のデータ(文書等)もあり、空白行・列など大量にある為、
 シート全体に対し、最終行・列を取得しています。
 
 >各Bookのデータは、A1から有る物としてCurrentRegionで取得しています
 項目行も変更対象なので、比較対照にしています。
 
 >尚、データに列見出しは無いとしていますし、
 >ソートしていない前提でソートを行っています
 >  'vntSheet1、vntSheet2どちらかのデータが無くなるまで繰り返し
 >  Do Until lngSh1Pos > lngSh1Row Or lngSh2Pos > lngSh2Row
 >    'vntSheet1、vntSheet2のIDがMatchした場合
 >    If vntSheet1(lngSh1Pos, 1) = vntSheet2(lngSh2Pos, 1) Then
 >      '列側のデータの比較
 >      blnNoMatch = False
 >      For i = 1 To lngSh2Cln
 >        If vntSheet1(lngSh1Pos, i) _
 >              <> vntSheet2(lngSh2Pos, i) Then
 >          blnNoMatch = True
 
 'Sheet3にMatchしないセルに色を塗る
 wksSheet3.Cells(lngSh3Row, i) _
 .Interior.ColorIndex = 4
 
 >          'Exit For
 >        End If
 >      Next i
 >      'データが一致しない場合
 >      If blnNoMatch Then
 >        'Sheet3に行データを書き込み
 >        ResultWrite vntSheet2, lngSh2Pos, _
 >              lngSh2Cln, wksSheet3, lngSh3Row
 >      End If
 >      'vntSheet1、vntSheet2の読み込みポインタを更新
 >      lngSh1Pos = lngSh1Pos + 1
 >      lngSh2Pos = lngSh2Pos + 1
 >    Else
 Sheet3にMatchしないセルに色を塗りたいのですが、
 最後にメッセージにてMatchしないセルに色を塗るか選択したい為、
 どの様にしたら宜しいでしょうか。
 
 宜しくお願いいたします。
 
 |  |