Get Data from Multiple CSV or Text Files into Excel Worksheet

How to get data from multiple CSV or text files into Excel worksheet automatically with VBA.

Get Data from multiple CSV or text files into Excel worksheet automatically

Here’s the complete VBA code:

Option Explicit

Const sPath = “C:\diya-takyar\” ‘declare your path
Const delim = “,”

Sub GetDataFromMultipleCSVFiles()
‘declare a few variables
Dim sFile As String
Dim sRecord As String
Dim arrRecord()
Dim fNum As Integer
Dim RowCounter As Long
Dim i As Long

On Error GoTo errhandler
sFile = Dir(sPath & “*.csv”)

RowCounter = 0
‘run loop
Do While sFile <> “”
fNum = FreeFile
Open sPath & sFile For Input As #fNum
Do While Not EOF(fNum)
Line Input #fNum, sRecord
sRecord = sFile & delim & sRecord

RowCounter = RowCounter + 1

ReDim Preserve arrRecord(1 To RowCounter)

arrRecord(RowCounter) = Split(sRecord, delim)


Close #fNum

sFile = Dir()



With ThisWorkbook.Sheets(“Sheet1”).Range(“A1”)

For i = 1 To RowCounter

.Offset(i – 1).Resize(, UBound(arrRecord(i)) + 1).Value = arrRecord(i)

Next i

End With

Exit Sub

Resume errExit

End Sub

Published by

Dinesh Kumar Takyar

Welcome to! My aim is to help you learn MS Excel including VBA. I always felt that a good way to learn something was to find solutions to problems in that domain. That is why I share these Excel videos with you. Mostly these are questions asked during my corporate training sessions. I've been training individuals and companies in computers since 1991. I did my B. Sc. (Vordiplom), M. Sc. (Diplom) and Ph.D. (Dr. rer. nat.) from Hamburg, Germany. The best thing about solving some of my visitor's questions is that I also gain new insights. For more Excel VBA solutions you may like to visit my YouTube channel: For a structured Excel VBA training course online you can visit:

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.