'Option Explicit
Sub ImportLargeFile()
Dim strFilePath As String, strFilename As String, vFullPath As Variant
Dim lngCounter As Long
Dim oConn As Object, oRS As Object, oFSObj As Object
vFullPath = Application.GetOpenFilename("Text Files (*.txt),*.txt", , "Please select text file...")
If vFullPath = False Then Exit Sub
Application.ScreenUpdating = False
Set oFSObj = CreateObject("Scripting.FileSystemObject")
strFilePath = oFSObj.GetFile(vFullPath).ParentFolder.Path
strFilename = oFSObj.GetFile(vFullPath).Name
Set oConn = CreateObject("ADODB.CONNECTION")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & strFilePath & ";" & _
"Extended Properties=""text;HDR=Yes;FMT=Delimited"""
Set oRS = CreateObject("AdoDb.Recordset")
oRS.Open "SELECT * FROM " & strFilename, oConn, 3, 1, 1
While Not oRS.EOF
Sheets.Add
ActiveSheet.Range("A1").CopyFromRecordset oRS, 500 000
Wend
oRS.Close
oConn.Close
Application.ScreenUpdating = True
End Sub