[b]Option Base 1[/b] '[red]<-- Don't forget this[/red]
[navy]Public Sub[/navy] WriteByParse()
[navy]On Error GoTo[/navy] WriteByParse_Error
[green]'ASSumes comma delimited[/green]
[navy]Const[/navy] cstMyFile [navy]As String[/navy] = "C:\MyFile.txt"
[navy]Dim[/navy] wksOutput [navy]As[/navy] Worksheet
[navy]Dim[/navy] varMyFile() [navy]As[/navy] Variant, varMyChunk() [navy]As[/navy] Variant, varMyLine() [navy]As Variant[/navy]
[navy]Dim[/navy] lngMyChunk [navy]As[/navy] Long, lngMyLine [navy]As Long[/navy]
[navy]Dim[/navy] intMyFile [navy]As Integer[/navy]
[green]'get and spkit the file into chunks[/green]
intMyFile = FreeFile
[navy]Open[/navy] cstMyFile [navy]For Input As[/navy] #intMyFile
varMyFile = Split(Input(LOF(intMyFile), #intMyFile), "EOD")
[navy]Close[/navy] intMyFile
[green]'Cysle through the chunks[/green]
[navy]For[/navy] lngMyChunk = 1 [navy]To[/navy] [navy]UBound[/navy](varMyFile)
[green]'Create the destination worksheet[/green]
[navy]Set[/navy] wksOutput = Worksheets.Add
wksOutput.Name = "Chunk" & lngMyChunk
[green]'seperate the lines in this chunk[/green]
varMyChunk = Split(varMyFile(lngMyChunk), vbCrLf)
[green]'Process the lines in the chunk[/green]
[navy]For[/navy] lngMyLine = 1 [navy]To[/navy] [navy]UBound[/navy](varMyChunk)
[green]'Break up the line in 'fields'[/green]
varMyLine = Split(varMyChunk, ",")
wksOutput.Range(wksOutput.Cells(lngMyChunk, 1), _
wksOutput.Cells(lngMyChunk, [navy]UBound[/navy](varMyLine))) = varMyLine
[navy]Next[/navy] lngMyLine
[navy]Set[/navy] wksOutput = [navy]Nothing[/navy]
[navy]Next[/navy] lngMyChunk
WriteByParse_Exit:
[navy]Exit Sub[/navy]
WriteByParse_Error:
[navy]Debug.Print[/navy] Now, "WriteByParse", Err.Number, Err.Description
[navy]Stop[/navy]
[navy]Resume[/navy] WriteByParse_Exit
[navy]End Sub[/navy]