在select内更改date

我正在使用macros来更改选定范围内的date。 它工作得很好,但是当select内部有非date值的单元格(例如“abcdef”或单元格为空),我运行macros它将此非date值转换为date。 我应该如何解决它?

当前代码:

Sub adddate() Dim cell As Range Dim r As Range Set r = Selection For Each cell In Selection If IsDate(cell.Value) Then Selection.Cells = DateAdd("d", 28, CDate(cell)) End If Next cell End Sub 

 Sub adddate() Dim cell As Range For Each cell In Selection If IsDate(cell.Value) Then cell = DateAdd("d", 28, CDate(cell)) Next cell End Sub