アプリ版:「スタンプのみでお礼する」機能のリリースについて

あるエクセルのファイルがあります。誰かがこれをコピーして、そのコピーしたファイルの一部のセルに変更を加えました。元のファイルとコピーしたファイルを比較して、どこが変更されたかを調べる良い方法はないでしょうか?エクセル自体がこのような機能を持っていれば一番いいのですが、無い場合にはVBでマクロを書くようなことが必要になるのでしょうか?よろしくお願いします。

A 回答 (3件)

Excel2002でしたら、ツール→「変更履歴の作成」の「変更箇所の表示」をクリックし、「編集中に変更箇所を記録する」のチェックボックスをオンにします。


これでデータを変更した所には、変更履歴を表示するコメント(左上に青い三角のマーク)が付きます。確か30日間分のデータを保持してくれるはずです。

その他のバージョンでは
「ファイルコンペア」「ファイル 比較」などで検索するとツールが見つかるかもしれません。

参考URL:http://www.nifty.com/download/win/util/file/inde …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。私が使っている2000にも「変更履歴の作成」がありましたので、さっそく使ってみます。

お礼日時:2003/10/16 10:26

#1です。


VLOOKUPの利用方法は下記を参考になると思います。
http://www.okweb.ne.jp/kotaeru.php3?qid=670697
#1で対応せるの値しか比較していませんが、式などの
変更もチェックする必要があるかも。朝時間が無いので略。
    • good
    • 0

Sheet1とSheet2で対応セルを変えていないと仮定して、2つのシートの対応するセルを比較します。


VBEの標準モジュールに
Sub test01()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = Worksheets("sheet1")
Set sh2 = Worksheets("sheet2")
Dim cl As Range
sh1.Activate
For Each cl In Selection
If cl = sh2.Cells(cl.Row, cl.Column) Then
Else
MsgBox cl
' cl.Interior.Color = vbYellow
End If
Next
End Sub
Sheet1のデータの入っている範囲を指定して
実行して見てください。
変ったセルの値を1つ1つメッセージボックスに表示します。変更が多いと使い物になりませんから、セルに色を付けるとか、なにか別の方法をお望みなら、MsgBox clのところを変更追加してください。
例 cl.Interior.Color = vbYellow 行の先頭’を削除。
・別の方法として変更が少数列であればVLOOKUP関数で出来そうです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。VBはいまいち苦手なのですが検討してみます。

お礼日時:2003/10/16 10:25

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