セル(列K)に日付が含まれているかどうかを自動的にチェックするコードを作成していました。列Kに日付が含まれておらず、列Lの日付が30日以上前の場合は、エラーが発生します。すべての日付がVBAによって認識されるわけではありません
私のコードは動作することがわかりましたが、すべての日付で動作するわけではありません。だから私はDebug.print
と彼はちょうどif
の要件を満たしていないという事実を無視して見た。私はこれを経験したことがありません。
これは、私は、セル22217は、彼がエラーを与える必要がありますケースが含まれていることを発見したコード(それの下でデバッグを見つけることができます)
Aantal = 0
i = 0
LastRow = 0
k = 0
LastRow = ThisWorkbook.Sheets("Acknowledgements follow up").Range("A1").End(xlDown).Row
'For i = 2 To LastRow
For i = 22214 To 22222
Debug.Print ActiveWorkbook.Sheets("Acknowledgements follow up").Range("L" & i).Value & " " & ActiveWorkbook.Sheets("Acknowledgements follow up").Range("K" & i) + 30 & " "; Date & vbCrLf
If ActiveWorkbook.Sheets("Acknowledgements follow up").Range("L" & i).Value = "" And ActiveWorkbook.Sheets("Acknowledgements follow up").Range("K" & i) + 30 > Date Then
Aantal = Aantal + 1
MsgString = MsgString & i & "/"
End If
Next i
If MsgString <> "" Then MsgString = Left(MsgString, Len(MsgString) - 3)
If Aantal > 1 Then
MsgBoxAnswer = MsgBox("There are " & Aantal & " dates missing in the acknowlegement sheet" & vbCrLf _
& "The missing dates are on rows " & MsgString, vbOKOnly + vbExclamation, "Missing dates")
End If
If Aantal = 1 Then
MsgBoxAnswer = MsgBox("There is " & Aantal & " date missing in the acknowlegement sheet" & vbCrLf _
& "The missing date is on row " & MsgString, vbOKOnly + vbExclamation, "Missing dates")
End If
です。しかし、彼はそうではありません、文書全体が29000以上の行を含んでいます。それは私に58のエラーを与えるが、現実にはより多くの方法がある。
これは私が得たデバッグ情報(日付が空の場合(列L)/列K + 30日/今日を確認してください)
05-08-13 01-09-13 06-11-です17
05-08-13 01-09-13 06-11-17
05-08-13 01-09-13 06-11-17
01-09-13 06-11-17
05-08- 13 04-09-13 06-11-17
06-08-13 04-09-13 06-11-17
05-08-13 04-09-13 06-11-17
05-08-13 04-09 -13 06-11-17
30-12-13 04-09-13 06-11-17
あなたはそれがその行22217が空で、日付が30以上である認識して見ることができるように日々。だからそれは引き起こされるべきです。私はそれが正常に動作しないこの行であることを知りました:ActiveWorkbook.Sheets("Acknowledgements follow up").Range("K" & i) + 30 > Date
アイデア? ありがとう! かわる
このコードは、セルに日付があるかどうかを確認するだけです。 – dwirony
何かがペーストで間違っていました:)私はそれを修正しました – KawaRu
@cxw列Lが空で、列Kが30日より古いかどうかをチェックします。これらの2つの要件が満たされている場合は、ポップアップを表示する必要があります。それは何らかの理由ではありません。私は私の説明でそれを修正しました。指摘してくれてありがとう! – KawaRu