私はそれらに含まれている静的テキストに基づいてセルを削除する別のチェーンを見つけましたが、今や同様の方法で日付を削除する必要があります。変数の日付に基づいて行を削除
これは私が静的なテキストを除去するために使用していますコードです:
'Sub DeleteRowBasedOnCriteria()
Dim RowToTest As Long
For RowToTest = Cells(Rows.count, 6).End(xlUp).Row To 2 Step -1
With Cells(RowToTest, 6)
If .value <> "ALLOW" _
And .value <> "CHRG" _
And .value <> "COST" _
Then _
Rows(RowToTest).EntireRow.Delete
End With
Next RowToTest
End Sub
素晴らしい作品が、私はこのレポートを実行するとき、私は当日に応じて、(前の2、3日のためにそれを実行します1週間)。私は、最も早い実行日の2日前にあるものを削除する必要があります。たとえば、22日と23日の24日にレポートを実行すると、20日より早い日付のものを削除したいとします。
私はそれがこのように実行される可能性があるように見えますが、私を信じて、T-Rexがバックフリップをしているのと同じくらい能力がありません。私は、静的なテキストのためのコードを変更しようとしましたが、私は正しい軌道に乗っていた場合にVBAコードの限られた知識で、私にはわからない:明らか
'Sub DeleteRowBasedOnCriteria()
Dim RowToTest As Long
For RowToTest = Cells(Rows.count, 5).End(x1Up).Row To 2 Step -1
With Cells(RowToTest, 5)
If .value < Today _
Then _
Rows(RowToTest).EntireRow.Delete
End With
Next RowToTest
End Sub
が、私はアカウントには何もありません。今日の日付の値からレポートが実行される4日前の日数を引いたものですから、私もそこに助けが必要です。現在のフォームでは、私はライン上で、「アプリケーション定義またはオブジェクト定義エラー」を得る:任意のヘルプやアイデアを事前に
For RowToTest = Cells(Rows.count, 5).End(x1Up).Row To 2 Step -1
感謝を。
は 'x1Up'は' xlUp'と同じではありません! –
'If .value <(Today - 4)Then'は、実行日の前の4日間をチェックします。 –