How to import multiple text files to multiple sheets?
Supposing, there are multiple text files in a folder of your computer, now, you want to import these text files to an Excel workbook, and place each text file into separate worksheets. Copying and pasting each text file to the worksheet one by one will waste lots of time, here, I can talk about some tricks for you to solve this problem.
The following VBA code may help you to import each text file into separate sheets within a new workbook at once, please do as follows:
1. Hold down the ALT + F11 keys in Excel to open the Microsoft Visual Basic for Applications window.
2. Click Insert > Module, and paste the following code in the Module Window.
VBA code: Import multiple text files to separate worksheets:
Sub CombineTextFiles() 'updateby Extendoffice 20151015 Dim xFilesToOpen As Variant Dim I As Integer Dim xWb As Workbook Dim xTempWb As Workbook Dim xDelimiter As String Dim xScreen As Boolean On Error GoTo ErrHandler xScreen = Application.ScreenUpdating Application.ScreenUpdating = False xDelimiter = "|" xFilesToOpen = Application.GetOpenFilename("Text Files (*.txt), *.txt", , "Kutools for Excel", , True) If TypeName(xFilesToOpen) = "Boolean" Then MsgBox "No files were selected", , "Kutools for Excel" GoTo ExitHandler End If I = 1 Set xTempWb = Workbooks.Open(xFilesToOpen(I)) xTempWb.Sheets(1).Copy Set xWb = Application.ActiveWorkbook xTempWb.Close False xWb.Worksheets(I).Columns("A:A").TextToColumns _ Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, _ Tab:=False, Semicolon:=False, _ Comma:=False, Space:=False, _ Other:=True, OtherChar:="|" Do While I < UBound(xFilesToOpen) I = I + 1 Set xTempWb = Workbooks.Open(xFilesToOpen(I)) With xWb xTempWb.Sheets(1).Move after:=.Sheets(.Sheets.Count) .Worksheets(I).Columns("A:A").TextToColumns _ Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, _ Tab:=False, Semicolon:=False, _ Comma:=False, Space:=False, _ Other:=True, OtherChar:=xDelimiter End With Loop ExitHandler: Application.ScreenUpdating = xScreen Set xWb = Nothing Set xTempWb = Nothing Exit Sub ErrHandler: MsgBox Err.Description, , "Kutools for Excel" Resume ExitHandler End Sub
3. After pasting the above code, press F5 key to run this code, and in the popped out window, please specify the folder which contains the text files, go to the folder to select the text files you want to import to the worksheets, see screenshot:
4. Then click Open button, all the selected text files have been imported into a new workbook and each file located in one worksheet individually.
5. At last, you can save the new workbook as you need.
Sometimes, you may need to do some opposite operations of above task, that is to say, you need to split a workbook to separate text files. Kutools for Excel’s Split Workbook utility can help you to solve this job quickly and easily.
|Kutools for Excel : with more than 300 handy Excel add-ins, free to try with no limitation in 60 days.|
After installing Kutools for Excel, please do as follows:( Free Download Kutools for Excel Now! )
1. Activate the workbook that you want to split to multiple text files.
2. Click Enterprise > Workbook > Split Workbook, see screenshot:
3. In the Split Workbook dialog box:
(1.) Check the worksheets that you want to split.
(2.) Check Specify save format, then choose the file format that you want to save, for example, you can choose txt, csv, pdf, xlsx or xls file format as you need.
(3.) Then click Split button, in the following prompt box specify a folder to output the separate files.
4. Then click OK button, and your selected worksheets will be split and save to your desired folder with the format as you need.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
To post as a guest, your comment is unpublished.· 2 years agothank you , multiple text files to different worksheets code worked!
To post as a guest, your comment is unpublished.· 2 years agoThanks for this code this is working great.. i want to merge all the selected sheet into a single sheet is that possible..
To post as a guest, your comment is unpublished.· 2 years agoHow do I change this macros to display text file saved as UTF-8 or in other words using Platform = 65001, Thanks
To post as a guest, your comment is unpublished.· 2 years agoThanks for this very useful code. I have a question though. What I can change to convert the datatype from General to Text as currently it only imports data into General format.
To post as a guest, your comment is unpublished.· 2 years agoIs it possible to open Sequencially multiple txt files in a single sheet ?
To post as a guest, your comment is unpublished.· 3 years agoThe code for "Import multiple text files to separate worksheets with VBA code" works for me, BUT cuts off the data of each cell at 255 characters. I think it is defaulting to GeneralFormat cell data, but I need it to be TextFormat. Unfortunately I cannot figure out how to adjust the code to fix this.
To post as a guest, your comment is unpublished.· 3 years agoI used Following code But Space Didn't Delimit.
Turned Tab:=True, Space:=True, but it didn't work.
My Txt file format is-
ALUMINI16MAYFUT 09-05-2016 10:00:00 106.0000 106.0000 105.2000 105.3500 104