@ Zack
The ommision is in
If UBound(LineItems) - LBound(LineItems) + 1 > ColumnCount Then 
   LineOutput = WorksheetFunction.Substitute(LineText, Delimiter, ReplaceDelimiter, MergeColStart)         
Else

@ Business1K
Substitute this code in toto for the three lines above. Zack can improve it for you later.
Dim NDX as Long, i As Long
NDX = 0
i = 0
If UBound(LineItems) - LBound(LineItems) + 1 > ColumnCount Then
   NDX = LBound(lineItems) + 15
   LineItems(NDX) = LineItems(NDX) & LineItems(NDX + 1)
   For i = 1 to 3
     LineItems(NDX + i) = LineItems(NDX + 1 + i)
   Next i
   LineItems(NDX + 4) = ""
   For i = LBound(LineItems) To UBound(LineItems)
     LineOutput = LineOutPut & LineItems(i) & ","
   Next i
   LineOutPut = Left(LineOutPut, Len(LineOutPut - 2))
Else