Excel VBA 날짜 형식: 구분 기호로 사용된 하이픈은 이상한 대체 결과를 제공합니다.

Excel VBA 날짜 형식: 구분 기호로 사용된 하이픈은 이상한 대체 결과를 제공합니다.

엑셀 2007.

dd-mmm-yy 형식(예: 30-Oct-14)으로 현재 셀에 오늘 날짜를 입력하는 매크로를 원합니다.

내가 가진 코드는 간단합니다.

'ActiveCell.Value = 형식(현재(), "dd-mmm-yy")'

어떤 이유로 하이픈 대신 공백이 포함된 "30 Oct 14"를 반환합니다.

유사한 형식이 올바르게 작동합니다. 예를 들어

dd-mm-yy는 30-10-14를 제공하고,
dd~mmm~yy는 30~Oct~14를 제공합니다.

셀 실제 값은 "10 30 2014"로 설정됩니다.

누구든지 나에게 간단한 해결 방법을 알려주고 가능하다면 왜 이런 일이 발생하는지 설명할 수 있습니까?

답변1

Excel은 매크로로 입력한 텍스트를 자동으로 날짜로 변환한 다음 날짜 형식을 적용합니다. Excel에서 이를 텍스트로 표시하도록 하려면 날짜 문자열 앞에 작은따옴표를 추가하세요.

ActiveCell.Value = "'" + Format(Now(), "dd-mmm-yy")

또는 먼저 셀 형식을 텍스트 유형으로 설정합니다.

ActiveCell.NumberFormat = "@"
ActiveCell.Value = Format(Now(), "dd-mmm-yy")

관련 정보