Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


64435 / 76732 ←次へ | 前へ→

【16878】Re:ブックの比較
質問  どんば  - 04/8/14(土) 12:48 -

引用なし
パスワード
   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しないセルに色を塗るか選択したい為、
どの様にしたら宜しいでしょうか。

宜しくお願いいたします。

1 hits

【16851】ブックの比較 どんば 04/8/11(水) 22:27 質問
【16858】Re:ブックの比較 Hirofumi 04/8/12(木) 10:50 回答
【16878】Re:ブックの比較 どんば 04/8/14(土) 12:48 質問
【16884】Re:ブックの比較 Hirofumi 04/8/14(土) 15:07 回答
【16891】Re:ブックの比較 どんば 04/8/14(土) 18:32 お礼

64435 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free