To get the first of the month use
Code:
sdate = shSummary.Range("Y7").Value
sdate = Format(DateSerial(Year(sdate), Month(sdate), 1), "yyyymmdd")
and for the name try
Code:
Name = Application.Proper(shSummary.Range("B7").Value)