5,000 行、600 列でもそれほど長くはかからないはずです。ホールドアップがセルに値を書き込んでいる可能性があります。2 次元の出力配列を入力し、値を一度にスプレッドシートに書き込む方がよいでしょう。これが例です。
Sub ReadTextFile()
Dim sFile As String
Dim lFile As Long
Dim vaLines As Variant, vaSplit As Variant
Dim aOutput() As String
Dim i As Long
Dim sInput As String
sFile = MyDocs & "Book4.csv"
lFile = FreeFile
'Read in data
Open sFile For Input As lFile
sInput = Input$(LOF(lFile), lFile)
'Split on new line
vaLines = Split(sInput, vbNewLine)
'Set up output array - split is zero based
'but you want 1-based to write to cells
ReDim aOutput(1 To UBound(vaLines, 1) + 1, 1 To 1)
'loop through lines
For i = LBound(vaLines) To UBound(vaLines)
If Len(vaLines(i)) > 0 Then
'split on delimiter
vaSplit = Split(vaLines(i), ";")
'store want you want in the output array
aOutput(i + 1, 1) = vaSplit(15)
End If
Next i
'write the output array to a range
Sheet1.Range("A2").Resize(UBound(aOutput, 1), UBound(aOutput, 2)).Value = aOutput
End Sub