문제

데이터를 추출하고 3 개의 CSV 파일 (A.CSV, B.CSV, C.CSV)을 생성하는 VB 응용 프로그램이 있습니다. 그런 다음 다른 Excel 스프레드 시트 (import.xls)를 사용하여 위의 CSV 파일의 모든 데이터를이 시트로 가져옵니다.

import.xls 파일에는 CSV 파일을 하나씩 열고 데이터를 복사하는 매크로가 있습니다. 내가 직면하고있는 문제는 CSV 파일의 날짜가 MM/DD/YYYY로 저장되며 Excel 시트와 마찬가지로 복사됩니다. 그러나 DD/MM/YYY 형식의 날짜를 원합니다.

CSV 파일을 수동으로 열면 날짜가 올바른 형식 (MM/DD/YYYY)으로 표시됩니다. 이 문제를 어떻게 해결할 수 있는지 아십니까?

도움이 되었습니까?

해결책

당신은 사용할 수 있습니다 체재 VBA 기능 :

Format(DateText, "dd/mm/yyyy")

그것은 당신이 좋아하는 방식으로 포맷 할 것입니다.

보다 영구적 인 솔루션의 경우 Windows 자체에서 지역 설정을 변경해보십시오. Excel 은이를 날짜 형식에 사용합니다.

시작 -> 설정 -> 제어판 -> 지역 옵션.

언어가 적절한 것으로 설정되어 있고 날짜 설정이 원하는대로 설정되어 있는지 확인하십시오.

다른 팁

이 문제가 발생하면 일반적으로 엑셀이 명백하게 해석하는 yyyy-mm-dd로 날짜를 씁니다.

우선 다른 답변은 모두 좋지만 도움이 될 수있는 더 많은 정보가 있습니다.

CSV 파일에는 텍스트 만 포함됩니다. 즉, 데이터는 날짜 형식이 아니라 텍스트 형식입니다. 따라서 Excel에서 CSV 파일을 열면 기본적으로 Excel은 해당 데이터를 해석합니다. 필요하지 않습니다. 당신은 그것을 텍스트로 남겨 두도록 강요하거나 마크에서 언급 한대로 가져 오기 매크로에 코드를 추가하여 변경할 수 있습니다. 자동화 된 프로세스를 원한다면 이것이 최상의 솔루션입니다. 날짜 데이터와 함께 필요한 날짜 형식을 열에 적용하는 매크로에 VBA의 코드를 추가하기 만하면됩니다. 또는 파일이 열린 후에는 수동 으로이 작업을 수행 할 수 있고 열을 직접 선택하고 형식을 자극하여 데이터를 붙여 넣었습니다. 숫자 형식을 사용자 정의 할 수 있습니다 (사용자 정의 선택)을 직접 작성하십시오. 예 : DD/MM/YYYY.

나는 비슷한 문제가 있었고 이와 같이 해결했습니다. 본질적으로 그것은 '위의 모든 것'옵션입니다.

  1. 와 함께 format(date,'dd-mmm-yyyy')날짜를 2-3-4 형식 EG01-AUG-2008로 변환합니다. 08-JAN의 경우 컴퓨터가 실수되는 방법 01-AUG :-)
  2. Excel로 복사하면 자동으로 날짜/시간 형식으로 되돌아 가면 사용하여 결과를 문자열로 변환합니다. cstr 1의 함수에서
  3. 날짜가 텍스트로 복사되는 셀을 형식화합니다 (Excel로 두꺼운 머리가없는 경우, 다시 날짜 / 시간으로 다시 변환합니다.
  4. 시트를 CSV 파일로 저장하고 메모장으로 열려 작동했는지 확인하십시오.

어떤 사람들은 과잉이라고 말할 수도 있지만, 지금부터 1 년 후에 전화를 걸고 데이트의 이상한 일을하고 있다고 말하는 것보다 안전한 편에 더 나은 것이 더 좋습니다.

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