|
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しないセルに色を塗るか選択したい為、
どの様にしたら宜しいでしょうか。
宜しくお願いいたします。
|
|