Excel은 하루가 그 달보다 낮은 날짜 (예 : 2 월 4 일) 역전 (예 : 2 월 4 일)

StackOverflow https://stackoverflow.com//questions/25077178

  •  02-01-2020
  •  | 
  •  

문제

나는 Excel과 날짜와 함께 구조를 겪고 있습니다. 상황은 다음과 같습니다. 매크로가 중앙 스프레드 시트로 가져 오는 여러 개의 탭이있는 월간 보고서가 있으며 약 120 개의 열이 있습니다. 가져 오면 데이터와 관련된 최종 몇 컬럼에 수식을 추가해야하지만 데이터에 포함되지 않은 열에는 포함되어 있지 않으며 이들 중 하나는 기간 번호입니다 (4 월 1 일부터 시작하여 연도가있는 클라이언트를 위해 일하고 있습니다. 올해 4 주간의 기간). 이를 암적화하려면 A 열 A의 모든 날짜, 다음 열의 기간 및 기타 데이터가있는 별도의 시트가 있습니다. 간단한 vlookup은 날짜를보고 기간을 반환합니다.

그러나 일부 날짜는 텍스트로 저장됩니다 (그래서 vlookup에는 # n / a), 간단한 수정, 특별한 붙여 넣기 - 빈 셀과 voila가 작동합니다. 그리고 이것이 내가 수동으로 그렇게하면 작동합니다. 그러나 이것은 사용자를위한 모든 작업을 수행하기 위해 다음 코드에 따라 프로그래밍 방식으로 수행하려고 시도했습니다.

'Sheets("dates and Periods").Activate
'Range("P1").Copy
'Sheets("Data").Activate
'Range(Cells(2, 5), Cells(lastrow, 5)).PasteSpecial xlPasteValues, xlPasteSpecialOperationAdd
'Range(Cells(2, 5), Cells(lastrow, 5)).NumberFormat = "dd/mm/yyyy"
.

분명히 비어있을 것이라는 것을 알고 있기 때문에 "날짜와 기간"에서 빈 셀을 얻습니다.

이제이 코드를 실행하면 대부분의 값에서 작동합니다. 그러나 그 날 e 열 e의 모든 날짜는 그날의 월 1 일보다 작으며, 예를 들어, 4 월 4 일, 5 월 4 일, 그 일과 월을 전환하고, 이것은 내가 볼 수있는 긴 날짜로 변경하여 형식을 지정하지 않습니다. 데이터.

이 주위에 어떤 방법입니까? 저는 솔루션을 찾았지만 1904 년 날짜 시스템이나 서식을 지정할 때 찾을 수있는 모든 문제가 있습니다.

어떤 도움도 감사 할 것입니다.

해결책 : [부품으로 부서지고 다시 모으십시오]

For Each cell In Range(Cells(2, 5), Cells(lastrow, 5))

cell.Value = Mid(cell, 4, 2) & "/" & Left(cell, 2) & "/" & Right(cell, 4)

Next cell
.

도움이 되었습니까?

해결책

나는이 문제를 여러 번 가지고 있었다.대답은 대개 솔루션과 관련이 있지만 DD-MMM-YYYY 형식의 문자열로 날짜를 변환하면 다시 돌아 왔습니다.

다른 팁

Excel 셀에 날짜와 같이 표시되는 것을 입력하면 Windows 지역 설정에 따라 구문 분석됩니다. 텍스트로 입력하지 않는 문자열은 Excel 날짜로 바뀌는 문자열입니다. 이 후자는 대개 의도 한 날짜와 동일하지 않습니다.

가져 오기 프로세스 중에이 문제를 해결하는 것이 좋습니다. 이 작업을 수행하는 방법은 포함되지 않은 세부 사항에 따라 다르지만 데이터 / 가져 오기 프로세스를 사용하고 텍스트 가져 오기 마법사를 통과하는 것입니다. 이 마법사는 각 열의 형식을 지정할 수 있습니다. E. DATE 형식을 포함하여 모든 날짜가 Excel에서 올바르게 이해할 수 있도록 보장합니다. 수신 날짜 형식이 MDY 인 경우 MDY를 지정합니다. Excel은 올바르게 저장 한 다음 기본 설정 또는 해당 열을 포맷하는 방식으로 표시합니다.

다른 옵션은 가능한 경우 Windows 국가 별 설정의 짧은 날짜 형식과 동일한 형식의 날짜를 생성하도록 보고서 생성기를 변경하는 것입니다.

I 데이터베이스로 이메일로 이메일로 이메일로 보내고 일관되게 문제가 발생합니다.문제는 잘못된 데이터, 잘못된 서식 또는 이와 같은 일로 인해 발생하지 않지만 Excel의 오류가 발생하지 않지만 (Microsoft IT라는 기능이라고 믿습니다.) 미국식 형식의 날짜를 이해하려고 시도하고 자동으로 '수정'찾는다.데이트가 미국식 형식으로 작동하지 않으면이를 텍스트 파일로 변환하면 한 방식으로 포맷 된 일부 날짜가있는 날짜를 입력합니다.

내가 발견 한 유일한 솔루션은 소스 시트의 데이터를 변경하여 Excel이 어떤 식 으로든 날짜로 이해할 수 없도록, 가져온 다음 그것을 다시 변환 한 다음 거대한 Phaff를 다시 변환하는 것입니다.Microsoft 이소를 정렬하고 시간을 프로그래밍 해결 방법으로 낭비합니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top