Untested:
Option Explicit
Sub x()
Dim sFile As String
Dim iFF As Integer
Dim sInp As String
Dim asDat(1 To 3) As String
Dim iRow As Long
sFile = Application.GetOpenFilename("Text files, *.txt")
If sFile = "False" Then Exit Sub
iFF = FreeFile
Open sFile For Input As #iFF
Do While Not EOF(iFF)
Input #iFF, sInp
Select Case Left(sInp, 6)
Case "ID - "
iRow = Cells(Rows.Count, "A").End(xlUp).Row + 1
Cells(iRow, "A").Value = Mid(sInp, 7)
Case "A1 - "
If Len(asDat(1)) = 0 Then asDat(1) = Mid(sInp, 7)
Case "JF - "
asDat(2) = sInp
Case "JO - "
Select Case Left(asDat(2), 6)
Case "JA - ", "J1 - ", "J2 - ", vbNullString
asDat(2) = sInp
End Select
Case "JA - "
Select Case Left(asDat(2), 6)
Case "J1 - ", "J2 - ", vbNullString
asDat(2) = sInp
End Select
Case "J1 - "
Select Case Left(asDat(2), 6)
Case "J2 - ", vbNullString
asDat(2) = sInp
End Select
Case "J2 - "
Select Case Left(asDat(2), 6)
Case vbNullString
asDat(2) = sInp
End Select
Case "Y1 - "
asDat(3) = Mid(sInp, 7, 4)
Case vbNullString
asDat(2) = Mid(asDat(2), 7)
If iRow <> 0 Then Cells(iRow, "B").Value = Join(asDat, ", ")
Erase asDat
End Select
Loop
If IsEmpty(Cells(iRow, "B")) Then
asDat(2) = Mid(asDat(2), 7)
Cells(iRow, "B").Value = Join(asDat, ", ")
End If
Close iFF
End Sub
Bookmarks