• ベストアンサー

(エクセル)値を変更したセルの見つけ方。

(例)100行×100列にデータ入力されたシートで、そのひとつのセルの値だけ変えた場合、変更前と変更後のファイルを見比べ、そのデータの変更されたセルを特定する方法を教えてください。 (今は、目視でチェックしているので大変、非効率で困っています。)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

毎日の作業とかならもうすこしいい方法があると思いますが、とりあえず手っ取り早い方法を。 片方のファイルの該当範囲を選択してコピー もう一方のファイルの同範囲を選択して右クリック→形式を選択して貼り付け 貼り付けから「値」を、演算から「減算」を選択してOKを押す。 変更されていないセルは0に、そうでないセルは0以外の値になります。

その他の回答 (2)

noname#97729
noname#97729
回答No.3

Excelファイルの比較なら、いろいろありますよ。 http://search.vector.co.jp/search?query=Excel+%94%E4%8Ar&path=

  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.2

こんにちは。 マクロでは如何でしょうか。 以下のマクロをそれぞれ貼り付けた後、一旦ブックを保存し閉じてから、試してみてください。 変更されたセルのみ色(黄色)を設定します。 ----------------------------------------------------------------- 'マクロ貼付 (1) Alt+F11 (ツール → マクロ → Visual Basic Editor) →「挿入」→「標準モジュール」で表示される画面に貼り付け Public wBuf As Variant Public wR As Long Public wC As Integer ' Sub auto_open()   With Sheets("Sheet1")   '←データシート     wR = .Range("A" & Rows.Count).End(xlUp).Row   '←使用最大行数設定     wC = .UsedRange.Columns.Count         '←使用最大カラム数設定     wBuf = .Range(.Cells(1, 1), .Cells(wR, wC))   End With End Sub ----------------------------------------------------------------- 'ワークシートにマクロ貼付 (1) データシートをマウス右Click →「コードの表示」を選択で表示される画面に貼り付け Private Sub Worksheet_Change(ByVal Target As Range)   If Target.Row > wR Or Target.Column > wC Then     Exit Sub   End If   With ActiveSheet     If Target.Value <> wBuf(Target.Row, Target.Column) Then       .Cells(Target.Row, Target.Column).Interior.ColorIndex = 6   '黄色設定     Else       .Cells(Target.Row, Target.Column).Interior.ColorIndex = xlNone '色取消     End If   End With End Sub

関連するQ&A