【エクセルマクロ】複数条件が一致で別シートに転記:動画あり

vba-複数条件一致で別シート転記-アイキャッチ ExcelVBA

エクセルマクロで、複数条件が一致で別シートに転記するVBAコードをご紹介します。

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

複数条件が一致で別シートに転記

以下のExcelVBAを実行すると、別シートにデータを振り分けします。


Sub データ抽出して別のシートへ転記()

Dim Shukei As Worksheet
Dim Yotei As Worksheet
Dim i As Long
Dim j As Long
Dim Target As String
Dim Target_Time As String

    Set Shukei = Sheets("集計")
    Set Yotei = Sheets("予定")

    Shukei.Select

    '集計シートの値クリア
    Shukei.Range(Cells(2, 2), Cells(100, 3)).ClearContents

    '集計日を取得
    Target = Format(Shukei.Range("E1"), "yyyymmdd")
    
    Application.ScreenUpdating = False
 
    '集計シート 2~最終行までループ
    For i = 2 To Shukei.Range("A1").End(xlDown).Row
        
        '予定シート 2~最終行までループ
        For j = 2 To Yotei.Range("A1").End(xlDown).Row
        
            '集計シート 対象の時間取得
            Target_Time = Format(Shukei.Cells(i, 1), "hh:mm")

            '日付と時間が一致したら
            If Target = Format(Yotei.Cells(j, 2), "yyyymmdd") And _
                Target_Time = Format(Yotei.Cells(j, 3), "hh:mm") Then
    
                '集計シートB列とC列に転記
                Yotei.Cells(j, 1).Copy Shukei.Cells(i, 2)
                Yotei.Cells(j, 4).Copy Shukei.Cells(i, 3)
                Exit For
            End If
        Next j
   Next i

    Application.ScreenUpdating = True

End Sub

 

マクロ実行前

2つのシートを用意します。

「予定」シートにリストが入力してあります。

転記先は「集計」シートのB列とC列です。


 

マクロ実行後

「担当日」と「時間」が一致するデータを「予定」シートから探して、

「集計」シートに転記します。


 

該当データが存在しない場合は、空欄となります。


 

動画の解説

動画ではコードの作り方・動作を確認できます。

クリックすると、このブログ上で再生されます^^

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

【エクセルマクロ】別シート転記(抽出)を自動化する:超便利20選
...

 

「スラスラ読める Excel VBA ふりがなプログラミング」
究極のやさしさを目指した、まったく新しいVBAの入門書
マクロの1行1行が何を意味していて、どう動くのかが理解できる!