Change second part of code as below to loop through each separate Area:-
dim P as Range
ac = 1
For Each K In .keys
ac = ac + 1: c = 0
For Each P In .Item(K)
c = c + 1
Cells(c, ac + 1).Value = P
Next P
Next K
Or for another option Try this for same result:-
Sub NewArray()
Dim a() As Variant, i As Long, j As Long, n As Long, ac As Long
Dim Rng As Range, Dn As Range
Set Rng = Range(Range("A4"), Range("A" & Rows.Count).End(xlUp))
ReDim a(1 To Rng.Count)
For Each Dn In Rng
If Dn.Value Like "*Project:/" Then
i = i + 1: j = 0
a(i) = MakeArray(1, Rng.Count)
End If
j = j + 1
a(i)(j) = Dn.Address
Next Dn
For n = 1 To i
For ac = 1 To UBound(a(n))
If Not IsEmpty(a(n)(ac)) Then
Cells(ac, n + 2) = Range(a(n)(ac)).Value
End If
Next ac
Next n
End Sub
Function MakeArray(lower As Long, upper As Long) As Variant
Dim B As Variant
ReDim B(lower To upper)
MakeArray = B
End Function
Regards Mick