2016-08-10 9 views
1

私は選択された範囲内の日付を変更するマクロを使用しています。それはうまく動作しますが、選択範囲内に日付以外の値を持つセル(「abcdef」またはセルが空です)があり、マクロを実行すると、日付以外の値が日付に変換されます。どのように修正する必要がありますか?選択範囲内の日付を変更

現在のコード:

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 

答えて

0
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 
+0

うん:)それは私が探していたまさにです。ありがとうございました! 「selection.cells」がうまくいかなかった理由を教えてください。 – Pawel

+0

'Selection.Cells'はセレクション内の全てのセルを返し、' If IsDate'チェックもパスしないものを返します!あなたがループし、 'Selection'の全ての' cell'をチェックしているので、それに固執してください! – user3598756

+0

ありがとう。私は本当にそれを感謝します。 – Pawel

関連する問題