VBAを使用して、以前の日付からのデータですべてのセルを削除します
この記事では、前の日付のデータを削除するマクロを作成します。このマクロはデータをチェックし、今日のデータを保持し、前の日付からすべてのデータを削除します。
この例の生データは、日付、エージェント名、およびその特定の日付における個々のエージェントの売上で構成されます。
マクロを実行するには、「メイン」シートのボタンをクリックするか、ショートカットキーAlt + F8を押してマクロを実行することもできます。
マクロは、以前の日付のすべてのレコードを削除します。 2016年12月14日にこのマクロを実行すると、出力にはその日付のレコードのみが反映されます。
[#_GoBack] ##ロジックの説明この例では、「RemovePreviousData」マクロを作成しました。このマクロは逆FORループを使用します。これは、ループが反対方向に実行されることを意味します。ループは最後の行から始まり、一番上の行に向かって移動します。
逆ループを使用する理由は、通常のFORループを使用した場合、各行が削除された後、データに存在するレコードが上方にシフトし、行が削除されるたびに位置が変わるためです。そのため、これに対抗するために、逆ループを使用しました。
逆方向にループするために、FORループとともにStepステートメントを使用しました。 FORループは最後の行から始まり、11 ^ th ^行に向かってループします。
コードについては以下に従ってください
Option Explicit Sub RemovePreviousData() Dim Counter, LastRow As Integer 'Finding the row number of last row LastRow = ActiveSheet.Range("A1").SpecialCells(xlLastCell).Row 'Looping from last row to 11th row For Counter = LastRow To 11 Step -1 If Cells(Counter, 1).Value < Date Then 'Deleting the row Rows(Counter).Delete End If Next Counter End Sub
このブログが気に入ったら、FacebookやFacebookで友達と共有してください。
皆様からのご意見をお待ちしております。私たちの仕事を改善し、あなたのために改善する方法をお知らせください。 [email protected]までご連絡ください