【エクセルマクロ】指定した日付範囲以外を削除:コピペで使えるコード

vba-指定した日付の範囲以外を削除-アイキャッチ エクセルマクロで効率化する

エクセルマクロで、指定した日付範囲以外を削除するVBAコードをご紹介します。

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

指定した日付範囲以外を削除

以下のExcelVBAを実行すると、指定範囲のデータ以外を削除します。


Sub 期間指定して行削除()

    Dim Day(2) As Variant
    Dim Mysymbol(2) As Variant
    Dim i As Long

    '開始日
    Day(1) = Range("F1")
    Mysymbol(1) = "<"

    '終了日
    Day(2) = Range("H1")
    Mysymbol(2) = ">"

     'フィルター設定
    Range("A1").AutoFilter
    
    For i = 1 To 2

         'フィルター抽出
        ActiveSheet.Range("A1").CurrentRegion.AutoFilter _
                Field:=3, _
                Criteria1:=Mysymbol(i) & Day(i), Operator:=xlAnd
    
         'フィルターで絞ったデータ削除
        Application.DisplayAlerts = False
            Range("A1").CurrentRegion.Offset(1, 0).Resize(Range("A1"). _
                CurrentRegion.Rows.Count - 1).Delete
                ActiveSheet.ShowAllData
        Application.DisplayAlerts = True
    
    Next i

End Sub

 

マクロ実行前

セルF1に「開始日」、セルH1に「終了日」を入力します。

今回の場合は、「2021/8/5~2021/8/10」のデータのみを残し、

それ以外のデータは削除する処理となります。


 

マクロ実行後

1回目のループで、「開始日」より前の日付の行を削除します。


 

2回目のループで、「終了日」以降のデータを削除します。


 

指定期間のデータのみ残ります。


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

【エクセルマクロ】期限切れの日付をチェックする:コピペで使えるコード
...

 

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