리본에서 사용할 수있는 도구를 사용하여 워크 시트를 CSV 파일로 내보낼 때 Arkadiusz는 세미콜론 (;)을 필드 구분 기호로 사용하도록 지정할 수 있다고 언급했습니다. 그러나 매크로 (FileFormat : = xlCSV 또는 xlCSVWindows)를 사용하여 CSV 파일을 저장하면 세미콜론을 구분 기호로 지정할 수 없습니다.

이것은 VBA에서 설계된 방식으로 작동합니다. VBA에 대한 내보내기 루틴의 Excel 구현은 항상 Windows 국가 별 설정을 사용하여 CSV의 항목을 분리하는 방법을 결정합니다.

특히 루틴은 구분 기호에 대한 목록 구분 기호 필드를 확인합니다. 즉, 원하는 경우 지역 설정 구성에서 목록 구분 기호 설정을 변경하여 구분 기호를 세미콜론으로 변경할 수 있습니다.

지역 설정을 변경하지 않으려면 원하는 방식으로 파일을 출력하는 고유 한 매크로를 대신 작성할 수 있습니다.

잠시 동안 파일을 출력 할 다음 매크로를 고려하십시오.

Sub CreateFile()

Dim sFName As String     Dim Rows As Long     Dim Cols As Long     Dim J As Long     Dim K As Long     Dim sTemp As String     Dim sSep As String

sSep = ";"  'Specify the separator to be used

sFName = ActiveWorkbook.FullName     If Right(sFName, 5) = ".xlsx" Then         sFName = Mid(sFName, 1, Len(sFName) - 5)

sFName = sFName & ".txt"

Open sFName For Output As 1

With ActiveSheet             'Number of rows to export is based on the contents             'of column B. If it should be based on a different             'column, change the following line to reflect the             'column desired.

Rows = .Cells(.Rows.Count, "B").End(xlUp).Row             For J = 1 To Rows                 sTemp = ""

Cols = .Cells(J, .Columns.Count).End(xlToLeft).Column                 For K = 2 To Cols                     sTemp = sTemp & .Cells(J, K).Value                     If K < Cols Then sTemp = sTemp & sSep                 Next                 Print #1, sTemp             Next J         End With

Close 1

sTemp = "There were " & Rows & " rows of data written "

sTemp = sTemp & "to this file:" & vbCrLf & sFName     Else         sTemp = "This macro needs to be run on a workbook "

sTemp = sTemp & "stored in the XLSX format."

End If

MsgBox sTemp End Sub

이 매크로는 통합 문서와 이름이 같은 텍스트 파일을 엽니 다. 그런 다음 각 행을 단계별로 진행하고 셀 내용의 문자열을 모으기 시작합니다. (이는 sTemp 변수에 저장됩니다.) 각 셀에는 sSep 변수에 정의 된대로 그 사이에 세미콜론이 있습니다. 각 행의 연결된 값은 텍스트 파일에 저장되며 완료되면 텍스트 파일이 닫힙니다. 루틴은 매우 빠르며 완료되면 파일로 내 보낸 행 수를 나타내는 메시지가 표시됩니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (9243)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다. 여기에서 Excel의 이전 메뉴 인터페이스에 대한이 팁 버전을 찾을 수 있습니다.

link : / excel-Specifying_a_Delimiter_when_Saving_a_CSV_File_in_a_Macro [CSV 파일을 매크로로 저장할 때 구분 기호 지정].