【エクセルマクロ】別シートの該当日付に値を転記(動画あり)

ExcelVBA

エクセルマクロで、別シートの該当日付に値を転記するVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
ぜひお試しください!

別シートの該当日付に値を転記

以下のExcelVBAを実行すると、日にちが一致する行に値をコピーをします。


Sub データ転記()

Dim St As Worksheet
Dim i As Long
Dim j As Long
Dim Shohin As String
Dim Mydate As String

    Set St = Sheets("元データ")

    'セルA1から日付取得
    Mydate = Format(St.Range("A1").Value, "d")
    
    '「元データ」シート 4行目~最終行までループ
    For i = 4 To St.Cells(Rows.Count, 1).End(xlUp).Row
    
        '「元データ」シート A列の商品名を取得
        Shohin = St.Cells(i, 1).Value
        
        '対象シート 4行目~最終行までループ
        For j = 4 To Sheets(Shohin).Cells(Rows.Count, 1).End(xlUp).Row

            '日付が一致したら
            If Sheets(Shohin).Cells(j, 1).Value = Mydate Then
                    
                '対象シートに、「元データ」シートの値を転記
                Sheets(Shohin).Cells(j, 2) = St.Cells(i, 2)
                Exit For
            End If
        Next j
    Next i

End Sub

マクロ実行前

「元データ」シートに、データを入力します。

セルA1に日付を入力します。日付の表示形式は「yyyy/m/d」です。


 

「りんご」「めろん」「さくらんぼ」の各シートは、同じフォーマットです。

A列には数字が入力してあります。


 

マクロ実行後

「元データ」シートの [セルA1] の日付(5日)を読み込んで、

各シートのA列から「5」を検索し、B列に数値を転記します。


 
 
この記事がお役に立ちますと幸いです。
 
・【エクセルマクロ】日付処理を自動化する使用例まとめ
 

【エクセルマクロ】日付処理を自動化する:使用例17選
エクセルマクロで、日付処理を自動化するVBAコードをご紹介します。どのマクロコードも、コピペで使用できます。ぜひお試しください!

 

[最速入門] ChatGPTに任せる Excelマクロ&VBA 面倒なプログラミングは秒で片づけよう

ChatGPTと対話しながら身につける、新しいVBA入門

Excelマクロ・VBAをAIと一緒にラクに習得したいなら、まず読んでおきたい一冊です!


★★★★★ 4.6 ※ Amazonカスタマーレビューより
マクロ記録とChatGPTを組み合わせた学習法が実践的で、すぐ現場で使える
「過不足のない指示」の出し方を学べ、AIとの対話スキルが身につく
変数・条件分岐・ループなどVBAの基礎もしっかり解説されている