displaying projects with start/end dates in a calendar view

folks

I need to to display my various projects with start and end dates in a calendar view

inputs are depicted in the source-data image

source data
target/desired outcome as per the target-data image

target data
rutgermonsAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Saqib Husain, SyedEngineerCommented:
Can you upload the excel file for working?
rutgermonsAuthor Commented:
sample sheet
rutgermonsAuthor Commented:
sample sheet
Sample.xlsx
Rowby Goren Makes an Impact on Screen and Online

Learn about longtime user Rowby Goren and his great contributions to the site. We explore his method for posing questions that are likely to yield a solution, and take a look at how his career transformed from a Hollywood writer to a website entrepreneur.

Saqib Husain, SyedEngineerCommented:
This macro will prepare a calendar list on sheet2

Sub calendarize()
    Dim cals As Date
    Dim cale As Date
    Dim i As Date
    Dim cel As Range
    Dim rn As Variant
    Dim sws As Worksheet
    Dim tws As Worksheet
    Set sws = Sheet1
    Set tws = Sheet2
    tws.Cells.ClearContents
    cals = WorksheetFunction.Min(sws.Range("C2:C" & sws.Range("C2").End(xlDown).Row))
    cale = WorksheetFunction.Max(sws.Range("D2:D" & sws.Range("D2").End(xlDown).Row))
    tws.Range("A1").Value = "Project"
    For i = cals To cale
        tws.Cells(1, i - cals + 2) = CVDate(i)
    Next i
    For Each cel In sws.Range("A2:A" & sws.Range("A2").End(xlDown).Row)
        rn = Application.Match(cel, tws.Range("A1:A" & Rows.Count), 0)
        If IsError(rn) Then
            rn = tws.Range("A" & Rows.Count).End(xlUp).Row + 1
            tws.Cells(rn, 1) = cel
        End If
        For i = cel.Offset(, 2) To cel.Offset(, 3)
            tws.Cells(rn, i - cals + 2) = tws.Cells(rn, i - cals + 2) & IIf(tws.Cells(rn, i - cals + 2) = "", "", ", ") & cel.Offset(, 1)
        Next i
    Next cel
End Sub

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
rutgermonsAuthor Commented:
Thank you Syed!

you are brilliant!

one last question, could you show modify the code to only write the actual data's from row 2 onwards and not the calendar headings (i.e. row1) as I would like to keep this set with pre-populated dates and formats

regard


rutger
Saqib Husain, SyedEngineerCommented:
Sub calendarize()
    Dim cals As Date
    Dim i As Date
    Dim cel As Range
    Dim rn As Variant
    Dim sws As Worksheet
    Dim tws As Worksheet
    Set sws = Sheet1
    Set tws = Sheet2
    For Each cel In sws.Range("A2:A" & sws.Range("A2").End(xlDown).Row)
        rn = Application.Match(cel, tws.Range("A1:A" & Rows.Count), 0)
        If IsError(rn) Then
            rn = tws.Range("A" & Rows.Count).End(xlUp).Row + 1
            tws.Cells(rn, 1) = cel
        End If
    cals = tws.Cells(1, 2)
        For i = cel.Offset(, 2) To cel.Offset(, 3)
            If i >= cals Then
                tws.Cells(rn, i - cals + 2) = tws.Cells(rn, i - cals + 2) & IIf(tws.Cells(rn, i - cals + 2) = "", "", ", ") & cel.Offset(, 1)
            End If
        Next i
    Next cel
End Sub
rutgermonsAuthor Commented:
I will log a follow up ticket on this Syed for new scope
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Excel

From novice to tech pro — start learning today.