Это должно работать для вас. Если вам нужна помощь в реализации этого, не стесняйтесь спрашивать:
Option Explicit
Sub TimesThirty()
Dim LR As Long: LR = Range("A" & Rows.Count).End(xlUp).Row
Dim BR As Long: BR = LR * Day(Application.EoMonth(Date, 1)) 'this way it will do it for the number of days of the current month
Dim arrData As Variant, ws As Worksheet, x As Integer, i As Long, h As Long
Set ws = ThisWorkbook.Sheets("Name") 'change name for the name of your sheet
With ws
x = .Cells(1, .Columns.Count).End(xlToLeft).Column 'last column on your sheet
arrData = .Range(.Cells(1, 1), .Cells(BR, x)).Value
'A loop through the array to copy the values except the Date which will go adding a day each loop
For i = 1 To LR 'for every worker
For h = 1 To Day(Application.EoMonth(Date, 1)) 'for every day of the month
For x = 1 To UBound(arrData, 2) 'for every column
If x = 1 Then 'I'm assuming the Date is on the column 1, else change the value of x
arrData(LR + h, x) = DateSerial(Year(arrData(i, x)), Month(arrData(i, x)), h) 'Year, Month, Day
Else
arrData(LR + h, x) = arrData(i, x) 'copy the same value
End If
Next x
Next h
Next i
.Range(.Cells(1, 1), .Cells(BR, x)).Value = arrData 'Paste the array back to the sheet
End With
End Sub