私はコードの一部を持っています:
If IsDate(cf1) Then
cf1str = CStr(cf1)
cf1str = Trim(cf1str)
chk1 = Format(cf1, "dd-mm-yyyy hh:mm:ss")
If cf1str <> chk1 Then
MsgBox "message"
Ws.Cells(i, c1).Select
Selection.Activate
Exit Sub
End If
Else
MsgBox ""
Ws.Cells(i, c1).Select
Selection.Activate
Exit Sub
End If
ここでやりたいことは、日付が有効で、「dd-mm-yyyy hh-mm-ss」の形式であるかどうかを確認したいということです。日付を文字列として比較しているので、先頭または末尾のスペースによる不一致がないことを確認したいと思います。ltrim
、trim
、で試しましrtrim
たが、列の先頭にスペースがあることがわかりました。その結果、日付の形式が正しくないというエラー メッセージが表示されます。これは、セル内の日付形式が同じであることがわかっていても、コード ユーザーの間でエラーが何であるかという混乱を引き起こしています。Val()
文字列を関数ごとに値に変更してからチェックすることでこれを取り除こうとしましたが、無駄でした。解決策はありますか?
また、根絶できない可能性\n
のあるのような不要な文字を取り除く方法は? trim
1つのセルでは、日付がスペースなしで正確に正しい順序になっていることがわかりますが、それでもエラーメッセージが表示されます。