単純な作業のように聞こえますが、さまざまなアプローチを試みてきましたが、まだ成功していません。
多くの変数を含む大きなデータ セットがあり、そのうちの 2 つが役に立ちます。1 つ目は「シンボル」(aaa、bbb、ccc など) と呼ばれ、2 つ目は「日付」(例: 2012-05-15 20:00) です。1 つのシンボルが複数の日付に対応します。
特定の日付 (例: bbb、2012-05-15) のシンボルを削除したかったのですが、削除するシンボルのリストがあります。
データセットの日付とforループの削除日付を比較し、特定のシンボルで互いに等しい場合は行全体を削除しようとしていましたが、そこに問題があります。
コードは以下のとおりです。
Dim d1 As Date d1 = DateSerial(2012, 5, 15) 'This is the deleting date MsgBox (IsDate(d1)) 'This returns true MsgBox (IsDate(DateValue(Cells(4, 9)))) 'This returns true For j = lastRow To 2 Step -1 If Cells(j,2).Value = "bbb" And (CDate(d1) = DateValue(Cells(j, 9))) Then Rows(j).EntireRow.Delete Next
VBA で「型の不一致」エラーが発生しました。If d1 = DateValue(Cells(j,9)) Then Rows(j).EntireRow.Delete も試しましたが、これもうまくいきませんでした。エラーが発生した場合、スクリーンショットのセルに値が表示されます。