You can simplify this section:

With Worksheets(shname)
        .Range("C1").FormulaR1C1 = "=DATE!R[2]C[1]"
        .Range("H1").FormulaR1C1 = "=DATE!R[3]C[-4]"
        .Range("M1").FormulaR1C1 = "=DATE!R[4]C[-9]"
        .Range("R1").FormulaR1C1 = "=DATE!R[5]C[-14]"
        .Range("W1").FormulaR1C1 = "=DATE!R[6]C[-19]"
        .Range("AB1").FormulaR1C1 = "=DATE!R[7]C[-24]"
        .Range("AG1").FormulaR1C1 = "=DATE!R[8]C[-29]"
    End With
To:

With Worksheets(shname)
  For lLoop=0 To 6
        .Cells(1,3+lLoop*5).FormulaR1C1 = "=DATE!R[" & lLoop+2 & "]C[" & 1-lLoop*5 * "]"
  Next lLoop
End With