This macro will work with your given data, try this on a small subset of your data. I would recommend you only run this on COPIES of your data.
Option Explicit
Sub SplitEDRows()
Dim LR As Long, Rw As Long, RwsADD As Long, NewRw As Long
LR = Range("A" & Rows.Count).End(xlUp).Row
Application.ScreenUpdating = False
For Rw = LR To 2 Step -1
RwsADD = WorksheetFunction.CountA(Range("P" & Rw).Resize(, 38))
If RwsADD > 0 Then
RwsADD = WorksheetFunction.Ceiling(RwsADD / 2, 1)
Rows(Rw).Copy
Rows(Rw + 1).Resize(RwsADD).Insert xlShiftDown
For NewRw = 1 To RwsADD
Range("N" & Rw).Offset(, NewRw * 2).Resize(, 2).Copy Range("N" & Rw + NewRw)
Next NewRw
End If
Next Rw
Range("P:BA").Delete xlShiftToLeft
Application.ScreenUpdating = True
End Sub
Bookmarks