2016-08-10 3 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 IfDate 체크를 통과하지 못하는 셀을 가져옵니다! 셀렉션을 반복하면서 셀렉션을 체크하고 있기 때문에 그것에 충실하십시오! – user3598756

+0

감사합니다. 정말 고맙습니다. – Pawel