동일한 형식과 열을 가진 27 개의 txt 파일을 가지고 있으며이 모든 것을 하나의 엑셀 시트에 추가하고 싶습니다. 나는 몇몇 이전 스레드를 여기에서 검사했다, 그러나 나는 단 하나 시트로 txt fiels를 가져 오는 것을 도운 아래의 코드를 찾을 수 있었다. 그러나 이러한 별도의 시트를 시트에 추가하여 모든 데이터를 추가하려고합니다.하나의 엑셀 시트에 여러 개의 텍스트 파일을 결합
Sub Test()
'UpdatebyExtendoffice6/7/2016
Dim xWb As Workbook
Dim xToBook As Workbook
Dim xStrPath As String
Dim xFileDialog As FileDialog
Dim xFile As String
Dim xFiles As New Collection
Dim I As Long
Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
xFileDialog.AllowMultiSelect = False
xFileDialog.Title = "Select a folder [Vendor_data_25DEC]"
If xFileDialog.Show = -1 Then
xStrPath = xFileDialog.SelectedItems(1)
End If
If xStrPath = "" Then Exit Sub
If Right(xStrPath, 1) <> "\" Then xStrPath = xStrPath & "\"
xFile = Dir(xStrPath)
'xFile = Dir(xStrPath & "*.txt") 'this is the original version that you can amend according to file extension
If xFile = "" Then
MsgBox "No files found", vbInformation, "Vendor_data_25DEC"
Exit Sub
End If
Do While xFile <> ""
xFiles.Add xFile, xFile
xFile = Dir()
Loop
Set xToBook = ThisWorkbook
If xFiles.Count > 0 Then
For I = 1 To xFiles.Count
Set xWb = Workbooks.Open(xStrPath & xFiles.Item(I))
xWb.Worksheets(1).Copy after:=xToBook.Sheets(xToBook.Sheets.Count)
On Error Resume Next
ActiveSheet.Name = xWb.Name
On Error GoTo 0
xWb.Close False
Next
End If
End Sub
나는 빨리 한 장에 별도의 시트에서 데이터를 결합하기 위해 VBA이 작업을 수행하는 방법을하지 확신합니다. Excel의 통합 기능을 알고 있지만 많은 수동 단계가 포함되어 있으므로보다 빠르고 자동화 된 솔루션을 찾고 있습니다. 어떤 도움이라도 대단히 감사합니다. 미리 감사드립니다.
이들을 다른 곳에 배치해야합니까? – JohnyL
예. 모든 시트의 열 이름은 정확히 동일하므로 파일을 추가 할 때 열 이름을 반복하지 않아도됩니다. –
정기적으로 다시 실행해야 할 필요가있는 항목입니까, 아니면 한 번만 실행해야합니까? – ashleedawg