【無料公開コードあり】コピペミスで検査成績書の数値が違った時のExcel確認法

【無料公開コードあり】コピペミスで検査成績書の数値が違った時のExcel確認法

記事
IT・テクノロジー

検査成績書の数値を、
管理表へ貼り付けていました。


いつも通りの作業をしていました。


コピーして、
貼り付けて、
件数を確認して、
品番とロット番号を見る。


その日は件数が多くて、
同じような表を何度も行き来していました。

最後に確認していた時です。

品番は合っていました。

ロット番号も合っていました。

でも、
検査結果の一部だけが違っていました。

原因は、
コピーする範囲が少しだけ足りていなかったことでした。

貼り付けたつもりの列に、
前回の値が一部残っていました。




Excelは何も止めてくれません。

エラーも出ません。

セルには数字が入っています。

だから余計に気づきにくいです。

こういうミスは、
本当に地味です。

でも、出荷前や提出前に残ると、
後から確認にかなり時間を取られます。



コピペ作業でよくあるのは、
こういうミスです。

・コピー範囲が1列だけ足りていない
・前回コピーした範囲をそのまま貼ってしまう
・貼り付け先を1セルずらしてしまう
・一部のセルだけ前回値が残っている
・見た目は合っているのに、数値だけ違う

どれも、
作業者が何も見ていないわけではありません。

むしろ確認しています。

確認した上で、
見落とすことがあります。

件数が少なければ、
目で見た方が早い日もあります。

VLOOKUPで確認する方法もあります。

関数で合否を出して、
不一致を探すやり方もあります。

それで十分な場面もあります。

ただ、
毎日同じような表を見ていると、
目が慣れます。

品番が似ている。

ロット番号も似ている。

検査値も、
大きく外れていない。

そうなると、
「違っているのに、違って見えない」
という状態になります。


私も品質管理の現場で、
この手の確認にかなり時間を使ってきました。


製造業の品質管理を10年以上やる中で、
検査成績書、管理表、ロット番号、品番リストなど、
いろいろなExcelデータを扱ってきました。

その中で分かったのは、
コピペミスは気合いだけでは防ぎにくいということです。

もちろん、
確認する意識は大事です。

でも、
毎回すべてを目で追うやり方だと、
件数が増えた時にきつくなります。

見るべきだったのは、
人の注意力だけではなく、
確認の流れでした。

コピペ後に、
人が全部見直す。

これだけだと、
どうしても見落としが出ます。

仮に1日30分、
コピペ後の確認に使っているとします。

月20日なら約10時間。

1年で約120時間です。

その時間を全部なくす、
という話ではありません。

ただ、
違っている場所だけ先に色で見えるなら、
確認の入り口はかなり変わります。

出荷前や提出前に、
どこを見ればいいか分かる。

それだけでも、
目視確認の負担は下がります。


データ照合比較.png


ここからは、
試したい方だけ使える無料コードです。

2つのシートを比べて、
違っているセルを赤色にするシンプルなVBAです。

この無料コードは、
「元データ」と「コピペ後のデータ」が同じ並びになっている前提です。

たとえば、

Sheet1:元データ
Sheet2:コピペ後のデータ

この2つを、
同じセル位置同士で比べます。

品番で自動的に並び替えたり、
ロット番号をキーにして照合したりする機能は入れていません。

同じ行順・同じ列順の表で、
セルの違いを見つけるための簡易版です。

実行前に、
必ずファイルのバックアップを取ってください。

元データを直接触るより、
コピーした練習用ファイルで試す方が安全です。


無料公開コード


Sub コピペ後の差分を赤色で確認する()

Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim lastRow As Long
Dim lastCol As Long
Dim r As Long
Dim c As Long

Set ws1 = Worksheets("Sheet1")
Set ws2 = Worksheets("Sheet2")

lastRow = ws1.Cells(ws1.Rows.Count, 1).End(xlUp).Row
lastCol = ws1.Cells(1, ws1.Columns.Count).End(xlToLeft).Column

ws2.Cells.Interior.ColorIndex = xlNone

For r = 1 To lastRow
    For c = 1 To lastCol
        If Trim(CStr(ws1.Cells(r, c).Value)) <> Trim(CStr(ws2.Cells(r, c).Value)) Then
            ws2.Cells(r, c).Interior.Color = RGB(255, 199, 206)
        End If
    Next c
Next r

MsgBox "確認が完了しました。違いがあるセルを赤色にしました。"

End Sub


使い方はとても簡単です。

Excelファイルを開きます。

Sheet1に元データを入れます。

Sheet2にコピペ後のデータを入れます。

キーボードで Alt + F11 を押します。

VBA画面が開いたら、
「挿入」から「標準モジュール」を選びます。

そこに上のコードを貼り付けます。

Excelに戻って、
マクロを実行します。

違いがあるセルが、
Sheet2側で赤色になります。

もう一度書きますが、
実行前にファイルのバックアップを取ってください。

特に仕事で使う管理表や検査成績書では、
いきなり本番ファイルで試さない方が安全です。

この無料版で見えるのは、
同じ位置にあるセル同士の違いです。

同じ並びの表を比べる時には使えます。


たとえば、

・元データと貼り付け後の表を比べたい
・コピーした後に数値が変わっていないか見たい
・一部だけ前回値が残っていないか確認したい
・検査成績書と管理表の違いを目で探す前に色で見たい


こういう場面では、
確認の助けになります。


ただ、
実際の現場ではもう少し面倒なこともあります。

毎回コードを貼るのが手間。

VBA画面を開くのが不安。

シート名を変えるのが面倒。

マクロを入れる場所が分かりにくい。

こうなると、
確認する前の準備だけで疲れます。

私も最初は、
こういう小さなコードを使っていました。

でも、
何度も使う作業は、
ボタンで動く形にした方が続きます。

毎月同じようなコピペ確認がある方向けに、
完成版のExcelツールも置いています。

2つのExcelデータを比較して、
不一致箇所を赤色で見つけやすくするツールです。

検査成績書と管理表。

出荷リストと確認表。

ロット番号や品番を含む一覧表。

そういう確認作業を想定しています。

完成版は、
毎回コードを貼り付けなくても使えるようにしています。

使い方はマニュアルにまとめています。

個別カスタマイズは受けていません。

その代わり、
よくある照合作業に使える完成品として、
低価格で置いています。

Q:VBA未経験でも使えますか?
A:完成版はボタン操作で使える形にしています。図解マニュアルも付けています。VBAコードを書けない方でも使いやすい形にしています。

Q:個別カスタマイズはできますか?
A:低価格維持のため、個別カスタマイズやオーダーメイドは受けていません。汎用的に使える完成品として、そのまま使える形にしています。

Q:Macでも使えますか?
A:Windows版Excel専用です。Mac版Excel、スマホ、Googleスプレッドシートは対象外です。


こんな方に向いています。

✓ 検査成績書と管理表のコピペ確認に時間を取られている方
✓ 貼り付け後に前回値が残っていないか不安な方
✓ 毎月同じような照合作業を繰り返している方
✓ 目視確認だけでは見落としが怖い方


コピペミスは、
見つけた後ならすぐ分かります。

「ここが違っていたのか」
と分かります。

でも、
提出前や出荷前の時点では、
同じような数字と文字の中に埋もれます。

だから、
見る前に色を付ける。

違う場所を先に浮かせる。

それだけで、
確認の流れは変わります。

まずはこの記事内の無料コードで、
同じ並びの表を比べる感覚を試してみてください。

毎月同じ確認作業がある方や、
毎回コードを貼るのが面倒な方は、
完成版も置いています。

ありがたいことにココナラで高評価をいただいております。

1.jpg
2.jpg
3.jpg

必要な方だけ以下のリンクから一度見てみてください。


【商品ページはこちら】

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す