Excel에서 CSV 파일을 저장/열 때 기본 구분 기호는 세미콜론입니다 ;
. 쉼표가 필요하기 때문에 ,
이 문제에 대한 다른 여러 게시물에 따라 언어 및 지역 설정을 변경하여 변경하려고 했습니다(예:Excel에서 쉼표를 CSV 파일의 기본 구분 기호로 해석하도록 하는 방법은 무엇입니까?).
그러나 해당 설정에서 목록 구분 기호를 변경한 후에도 Excel에서는 세미콜론을 사용하여 CSV 파일을 계속 저장합니다. 목록 구분 기호가 세미콜론으로 설정되어 있는데 Excel이 설치되었기 때문인가요? 아니면 여기에 누락된 다른 설정이 있나요?
답변1
문제를 발견했습니다. 지역 설정의 소수점 기호도 쉼표(유럽)였기 때문에 목록 구분 기호가 쉼표인 경우에도 CSV가 세미콜론으로 저장되었습니다. 이제 소수점 기호를 점으로 변경하면 쉼표를 구분 기호로 사용하여 CSV 파일이 올바르게 생성됩니다. 나는 이것을 두 번 테스트했고 이제 예외가 있어야 한다는 것을 알고 있습니다. 소수 기호가 쉼표인 경우 목록 구분 기호는 다르게 설정되어도 세미콜론이 됩니다.
답변2
저장용
언어 및 지역 설정에서 목록 구분 기호를 조정해야 합니다.이전의파일을 저장하려면 -
개봉용
이동데이터 - 외부 데이터 가져오기 - 텍스트에서
파일을 선택하세요
선택하다구분된, 다음을 누르세요
그리고구분 기호 반점
완료를 클릭하세요
또는 끌어온 다음 텍스트를 열에 사용합니다.여기를 보아라
답변3
다음은 아주 잘 작동하는 아주 좋은 매크로입니다:
Sub saveCSV()
File = Application.GetSaveAsFilename(InitialFileName:="file.csv", FileFilter:="CSV (*.csv), *.csv")
ActiveWorkbook.SaveAs Filename:=File, FileFormat:=xlCSV, CreateBackup:=False, local:=False
End Sub
답변4
이것은 약간 오래되었지만 동일한 문제에 직면했습니다.
세미콜론( )으로 구분된 CSV가 있었습니다 ;
. 시스템 구분 기호 설정(Windows)도 세미콜론으로 설정됩니다.
- CSV를 수동으로 열면 파일이 올바르게 분리되었습니다.
- VBA에서 열면 쉼표로 잘못 구분되었습니다.
Delimiter:=";"
분명히 사용 하는 것은 .txt
.
그러나 다음을 사용하면 Local :=True
문제가 해결되었습니다.
Workbooks.Open(Filename:=fullpath, Local:=True)