【エクセルマクロ】別シートの同じ日付に値を転記:作業を倍速しちゃう!

ExcelVBA_別シートの同じ日付に値転記-アイキャッチ エクセルマクロで効率化する

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

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

別シートの同じ日付に値を転記する

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


Sub 条件に合うデータを転記()

Dim Shukei As Worksheet
Dim Yotei As Worksheet
Dim MyList() As Variant
Dim LastRow As Long
Dim i As Long
Dim j As Long
Dim Cnt As Long

    Set Shukei = Sheets("集計")
    Set Yotei = Sheets("予定")
    
    Yotei.Select
    
    '予定シートの値を配列へ格納
    MyList = Yotei.Range(Cells(1, 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, 2))
    
    '集計シート 最終行
    LastRow = Shukei.Cells(Rows.Count, 1).End(xlUp).Row
    
    '集計シート 最終行までループ
    For i = 2 To LastRow
    
        Cnt = 0
    
        '配列ループ
        For j = 2 To UBound(MyList)
    
            '日づけが一致したら
            If Shukei.Cells(i, 1) = MyList(j, 1) Then
            
                '予定1つ目は集計シートB列へ転記
                If Cnt = 0 Then
                    Shukei.Cells(i, 2) = MyList(j, 2)
                    Cnt = Cnt + 1
                '予定2つ目は集計シートC列へ転記
                Else
                    Shukei.Cells(i, 3) = MyList(j, 2)
                    Cnt = 0
                    Exit For
                End If
                    
            End If
        Next j
    Next i

End Sub

 

マクロ実行前

「予定」シートは、日付が重複しているものがあります。


 

マクロ実行後

「予定」シートをもとに、「集計」シートのB列とC列に値を転記します。

「予定」シートに同じ日付がある(重複がある)場合は、
「集計」シートのC列(予定2)へデータを転記します。


 
 
この記事がお役に立てれば幸いです。
 

【エクセルマクロ】ワークシート処理を自動化する:超便利29選
...

 

「Excel自動化[最強]時短仕事術」
自動化の基礎と時短に役立つテクニック解説書
毎日の定型業務を手際良く行え、大幅な業務効率化を実現!