2017-11-23 5 views

답변

0

본인은 W가 WYYYYMMDD에 무엇인지 모르겠지만, 당신이 다음 그것을 제거 할 수있는 경우 다음과 같은 작업을해야합니다 :

 x.Value = DateSerial(Left(x.Value, 4), Mid(x.Value, 5, 2), Right(x.Value, 2)) 
     x.NumberFormat = "yyyy/mm/dd" 
+0

감사 Mehasi 완벽 –

+0

당신이 당신의 질문에 대한 답변으로 내 대답을 표시 할 수 없습니다 : 그래서 (가정 셀 A1)이이 변수 x에 7 일 날짜를 넣을 것인가? 고맙습니다. – Xabier

1

나는 여기에 약간의 혼동이있는 것 같아요. Excel에서 날짜는 1900 년 1 월 1 일 이후의 일 수로 저장됩니다. 따라서 오늘 날짜는 43062입니다. 즉, 셀 A1의 모든 날짜에 "= A1 + 7"수식으로 7 일을 더할 수 있습니다. 며칠 동안 DATEADD 함수를 사용해야합니다. 마찬가지로 날짜가 필요한 함수는 형식을 신경 쓰지 않고 숫자 값을 필요로합니다. 따라서 셀에 날짜가 있으면 7을 더할 수 있습니다.

날짜 형식은이 숫자를 표시하는 방법이며 기호 d, m 및 y의 조합이 될 수 있으며 범위의 NumberFormat 속성을 사용하여 변경할 수 있습니다.

혼란이 발생하는 곳에서는 날짜처럼 보이지만 실제로는 날짜가 아닌 텍스트를 입력 할 수 있습니다. 날짜와 비슷한 문자열은 DATEVALUE 함수를 사용하여 문자열로 변환 할 수 있지만 문자열이 알려진 Excel 날짜 형식을 따르는 경우에만 사용할 수 있습니다. 귀하의 경우 YYYYMMDD 형식은 알려진 형식이므로 텍스트라면 앞에있는 첫 번째 문자를 잘라내서 사용할 수 있습니다. 일했다

Dim r as Range 
    Dim x as date 
    Set r = range("a1") 
    x = DateValue(right(r,len(r)-1))+7 
+0

설명해 주셔서 대단히 감사합니다. 그것은 꽤 좋은 정보였습니다. 나는이 옵션을 시도했고 너무 효과가 있었다. 나는 vba의 전문가가 아니므로 당신이 제공 한 해독 코드를 가지고 있습니다. –

관련 문제