次のvbaコードを使用して、テキスト文字列の日付をExcelの実際の日付に変更し、論理的な比較などに使用できるようにしています。
問題は、これが約4000行で機能し、毎週更新する必要があることです。このコードは非常に低速です。
Sub Datechange()
Dim c As Range
For Each c In Range("D2:D" & Range("D" & Rows.Count).End(xlUp).Row)
c.Value = CDate(c.Value)
Next c
End Sub
同じことをもっと早くできる別の方法はありますか?非常に遅い理由の一部は、単一セルの選択とコードの繰り返し処理に関連するオーバーヘッドがあるためだと思いますが、他の方法でそれを行う方法がわかりませんか?
また、下部の行の一部には「指定なし」という単語が含まれており、コードがこれらのセルに到達すると、次のように壊れます。
実行時エラー「13」:タイプの不一致
次のコードを完了できるように、これを停止する方法はありますか?