エクセルのマクロで古い表と新しい表を比較し、変わらない内容を自動的にコピペする方法

エクセル

あなたはエクセルで古い表から新しい表へ更新するとき、変わらない内容を、新しい表に転記するのが面倒だと思ったことはありませんか?

仕掛商品の製造状況更新や、タスクの進行状況更新など、毎週更新しているリストにコメントを書く時に、古い表と新しい表で内容が変わらない場合、同じコメントをいちいち書き込んだり、転記のためにコピペするのは大変ですよね。

数が多いとコピペする欄を間違えたりもするので、自動的にできたら時短だし、ラクにもなります。

エクセルのマクロを使えば、古い表と新しい表を比べて、変わらないところは自動でコピペできます。

今回は「エクセルのマクロで古い表と新しい表を比較し、変わらない内容を自動的にコピペする方法」を紹介します。

エクセルのマクロで古い表と新しい表を比較し、変わらない内容を自動的にコピペする方法

エクセルのマクロで古い表と新しい表を比較し、変わらない内容を自動的にコピペする方法です。

今回は、下のように古い表から新しい表を比べ、同じ管理番号があったら、そのコメント欄を転記するのを例に紹介します。

準備として、Sheet1に古い表、Sheet2に新しい表を貼付けしておきます。

マクロを作るときは、「開発」タブを使います。
開発タブが出ていない方は、下のリンクで出し方を紹介していますので、まずは準備をお願いします。
→エクセルで開発タブを表示する方法

1.「開発」タブをクリック →「挿入」をクリック →「ボタン」をクリック

2.「新規作成」をクリック

3.コード入力画面が開く

4.コードを入力

コードを入力します。

古いシートと新しいシートの管理番号を検索し、新しいシートにコメントを転記する、という意味です。

赤枠部のコードです。

Sub ボタン1_Click()

    Dim oldSheet As Worksheet
    Dim newSheet As Worksheet
    Dim oldLastRow As Long
    Dim newLastRow As Long
    Dim oldCell As Range
    Dim newCell As Range
    Dim oldComments As String
    
    ' シートを設定
    Set oldSheet = ThisWorkbook.Sheets("Sheet1")
    Set newSheet = ThisWorkbook.Sheets("Sheet2")
    
    ' 古いシートと新しいシートの最終行を取得
    oldLastRow = oldSheet.Cells(oldSheet.Rows.Count, "A").End(xlUp).Row
    newLastRow = newSheet.Cells(newSheet.Rows.Count, "A").End(xlUp).Row
    
    ' 古いシートの各管理番号をループ
    For Each oldCell In oldSheet.Range("A2:A" & oldLastRow)
        oldComments = oldCell.Offset(0, 3).Value ' 古いコメントを取得
        
        ' 新しいシートで一致する管理番号を検索
        For Each newCell In newSheet.Range("A2:A" & newLastRow)
            If oldCell.Value = newCell.Value Then
                ' コメントを転記
                newCell.Offset(0, 3).Value = oldComments
                Exit For
            End If
        Next newCell
    Next oldCell
    
    MsgBox "コメントの転記が完了しました。", vbInformation


End Sub

コードを入力したら、コードの入力画面を閉じて下さい。

5.ボタンができた →ボタンをクリック

ボタンができたら、ボタンをクリックします。

6.コメントの転記が完了

「コメントの転記が完了しました」と出ます。

新しい表を見てみると、古い表のコメントが、新しい表のコメント欄に転記されました!

これで、表を見比べて、コメントを1つずつコピペしなくていいので、コメント転記するのが簡単になりますね!

まとめ

エクセルのマクロで古い表と新しい表を比較し、変わらない内容を自動的にコピペする方法のまとめです。

1.「開発」タブをクリック →「挿入」をクリック →「ボタン」をクリック

2.新規作成をクリック

3.コードを入れる画面が出る

4.コードを入力

5.ボタンができた →ボタンをクリック

6.コメントの転記が完了

これで表を比較して転記するのが簡単になります!

コメント

タイトルとURLをコピーしました