Sub T() Dim arrIn, arrOut, lngI&, lngJ& arrIn = [a1].CurrentRegion.Value ReDim arrOut(1 To UBound(arrIn, 1) * 2, 1 To 2) [I1].CurrentRegion.ClearContents For lngI = 2 To UBound(arrIn, 1) lngJ = lngJ + 1 If arrIn(lngI, 2) > arrIn(lngI, 5) Then arrOut(lngJ, 1) = arrIn(lngI, 1): arrOut(lngJ, 2) = arrIn(lngI, 4) lngJ = lngJ + 1 arrOut(lngJ, 1) = arrIn(lngI, 1): arrOut(lngJ, 2) = arrIn(lngI, 3) Else arrOut(lngJ, 1) = arrIn(lngI, 1): arrOut(lngJ, 2) = arrIn(lngI, 3) lngJ = lngJ + 1 arrOut(lngJ, 1) = arrIn(lngI, 1): arrOut(lngJ, 2) = arrIn(lngI, 4) End If Next lngI [I1].Resize(lngJ, 2) = arrOut End Sub