- ベストアンサー
(エクセル)値を変更したセルの見つけ方。
(例)100行×100列にデータ入力されたシートで、そのひとつのセルの値だけ変えた場合、変更前と変更後のファイルを見比べ、そのデータの変更されたセルを特定する方法を教えてください。 (今は、目視でチェックしているので大変、非効率で困っています。)
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
毎日の作業とかならもうすこしいい方法があると思いますが、とりあえず手っ取り早い方法を。 片方のファイルの該当範囲を選択してコピー もう一方のファイルの同範囲を選択して右クリック→形式を選択して貼り付け 貼り付けから「値」を、演算から「減算」を選択してOKを押す。 変更されていないセルは0に、そうでないセルは0以外の値になります。
その他の回答 (2)
Excelファイルの比較なら、いろいろありますよ。 http://search.vector.co.jp/search?query=Excel+%94%E4%8Ar&path=
- pkh4989
- ベストアンサー率62% (162/260)
こんにちは。 マクロでは如何でしょうか。 以下のマクロをそれぞれ貼り付けた後、一旦ブックを保存し閉じてから、試してみてください。 変更されたセルのみ色(黄色)を設定します。 ----------------------------------------------------------------- 'マクロ貼付 (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