【エクセルマクロ】月別に別シート転記:コピペで使えるコード

vba-月別にデータ抽出-アイキャッチ エクセルマクロで効率化する

エクセルマクロで、月別にデータ抽出して別シート転記する方法をご紹介します。

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

月別に別シート転記

以下のマクロを実行すると、月別にデータを抽出します。


Sub 指定月のデータを別シート抽出()

Dim sht1 As Worksheet
Dim sht2 As Worksheet
Dim LastRow As Long
Dim i As Long
Dim Q As Long
Dim Buf As Variant

    Set sht1 = Sheets("Sheet1")
    Set sht2 = Sheets("Sheet2")

    'sht2の値を一旦クリアしておく
    sht2.Select
    sht2.Range(Range("A2"), Range("A2").SpecialCells(xlLastCell)).ClearContents
    
    '最終行を取得
    LastRow = sht1.Cells(Rows.Count, 1).End(xlUp).Row
    
    '転記開始行
    Q = 2
    
    '抽出月を取得
    Buf = Format(sht1.Range("F1"), "yyyymm")
    
    sht1.Select

  Application.ScreenUpdating = False
    
    '2~最終行までループ
    For i = 2 To LastRow
    
        'C列が抽出月と同じだったら
        If Format(sht1.Cells(i, 3), "yyyymm") = Buf Then
        
            '別シートにA~C列を転記
            sht1.Range(Cells(i, 1), Cells(i, 3)).Copy sht2.Cells(Q, 1)
            Q = Q + 1
        End If
    
    Next i

  Application.ScreenUpdating = True
    
End Sub

 

マクロ実行前

あらかじめセルF1に、入力規則を作成しておきます。


 

転記先のシートは、1行目にタイトル行を入力した状態です。


 

マクロ実行後

セルF1で月を選択してマクロを実行すると、

該当月のデータのみ別シートに転記します。


 

セルF1で、さきほどとは異なる月を選択してマクロを実行すると、

別シートのデータが自動で入れ替わります。

 
この記事がお役に立ちますと幸いです。
 

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

 

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