
매달 저는 파이프로 구분된 일일 파일을 월간 Excel 통합 문서로 컴파일할 수 있는 특권을 갖고 있습니다. 가져오기 마법사를 사용하여 텍스트 파일을 통합 문서의 워크시트로 변환합니다. 30개의 파일을 모두 한 번에 열고 각 파일에 대한 마법사의 지시를 따릅니다. 마법사는 일반적으로 파일이 파이프로 구분되어 있음을 감지하는 데 정확합니다. 그러나 모든 파일 배치에서 단 한 번만 파일 형식이 "구분된"에서 "고정 너비"로 변경됩니다. 각 파일은 날짜|부서|계정|유형|금액 등의 형식이 동일합니다. 각 필드에는 모든 파일의 유사한 데이터가 포함되어 있습니다. 모든 날짜는 8자입니다. 모든 부서는 5자입니다. 모든 계정은 6자입니다. 등….
Excel에서 갑자기 구분된 파일 형식을 인식하지 못하는 이유는 무엇입니까?
왜 묶음 중 하나의 파일만 있습니까?
내가 주의를 기울이고 있는지 확인하고 있나요?
이 문제는 Excel 2013과 Excel 365 Pro(MSO 16.0) 모두에서 발생합니다.
답변1
VBA를 이해한다면 파일 이름을 요청하고 파이프로 구분하여 강제로 가져오는 다음 매크로를 사용할 수 있습니다.
Sub Test()
Dim Filter As String, Title As String
Dim FilterIndex As Integer
Dim FileName As Variant
' File filters
Filter = "Text Files (*.dat),*.dat," & "All Files (*.*),*.*"
' Default Filter to *.*
FilterIndex = 3
' Set Dialog Caption
Title = "Select a File to Open"
' Select Start Drive & Path
ChDrive ("G:")
ChDir ("G:\Scot\MS Excel")
With Application
' Set File Name to selected File
FileName = .GetOpenFilename(Filter, FilterIndex, Title)
' Reset Start Drive/Path
ChDrive (Left(.DefaultFilePath, 1))
ChDir (.DefaultFilePath)
End With
' Exit on Cancel
If FileName = False Then
MsgBox "No file was selected."
Exit Sub
End If
' Import File
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & FileName, Destination:=Range("A1"))
.TextFileParseType = xlDelimited
.TextFileOtherDelimiter = "|"
.Refresh BackgroundQuery:=False
End With
End Sub
"시작 드라이브 및 경로 선택" 아래 코드에 대한 고유한 값을 입력합니다.