いつでも医師に相談、gooドクター

すみません、どなたか教えてください。
「シートA」と「シートB」とで、商品リストのデータを照合したいのです。
「シートA」を元に、ある一部の商品リストに変更をかけたものが「シートB」になります。
【例】
商品番号  商品名
 001     Orange ABC
 002     Orange BBB
 003     Apple Big
 004     Banana 5

チェックする点は、入力されている文字列、大文字、小文字、スーペース等が変更になったかどうかチェックします。
変更は何度も入るため「シートB」を元に「シートC」をチェックする→「シートC」を元に「シートD」をチェックする、という流れになっていきます。

今までは以下の関数を使ってチェックしていましたが、この関数だと毎回書き変える上に、A3以降のセルにコピーする作業が発生するので手間がかかってなりません。
●照合用のシートZ!A2=IF('シートA'!A2&'シートB'!A2="","",EXACT('シートA'!A2,'シートB'!A2))

どなたかよい方法を教えてください。よろしくお願いします。
できれば、ボタンを押してマクロ実行、というのが理想なのですが…。

gooドクター

A 回答 (1件)

作ってみました。


現在開いているシートと、ひとつ前(左側)のシートを比較し、
一致していないセルの背景を赤くします。

-----------------------------
Sub シート比較()
  Dim i, j, endofrow, endofcol As Integer
  
  Set WS2 = ActiveSheet.Previous
  
  endofrow = ActiveSheet.UsedRange.Rows.Count
  endofcol = ActiveSheet.UsedRange.Columns.Count
  
  For i = 1 To endofcol
    For j = 1 To endofrow
      If ActiveSheet.Cells(j, i).Value <> WS2.Cells(j, i).Value Then
        ActiveSheet.Cells(j, i).Interior.ColorIndex = 3
      End If
    Next
  Next
  
End Sub
-----------------------------

比較対象は常に1つ前のシートになりますので、
2つ前のシートと比較したい場合などは、シートの順番を並べ替えて対応
してください。

不具合があれば、補足にご記入ください。
お役に立てば良いのですが・・・。
    • good
    • 0
この回答へのお礼

すばらしいっ!
できました!今まで手間かけて作業していたことがアッという間にできちゃうなんて。
私も少しづつ勉強して自分で書けるようにがんばります。
ホントにホントにありがとうございました!

お礼日時:2003/02/13 15:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング