Первая часть кода отсутствует, но я полагаю, вы объявили переменные. Если нет, то это может немного повлиять на производительность.
Вы также можете попробовать отключить вычисления в начале процесса, а затем переключить их обратно в конце.
Application.Calculation = xlCalculationManual
'...
Application.Calculation = xlCalculationAutomatic
Вы говорите, что вам нужен только 4-й и 6-й столбцы текста, но вы помещаете всю строку в ячейку.
Если вы действительно хотите поместить в лист только две части линии, вы можете сделать что-то вроде этого:
With Sheets("Sheet1")
Do While Not EOF(fNum)
outRow = outRow + 1
Line Input #fNum, sInputRecord
.Cells(outRow, outCol).Value = Split(sInputRecord,";")(3)
.Cells(outRow, outCol+1).Value = Split(sInputRecord,";")(5)
Loop
End With
Измените точку с запятой на любой символ, который разделитель находится в текстовом файле.