Всем спасибо за помощь :) решение найдено на этом сайте и немного модифицировано под конкретную задачу.
Sub Redesigner()
Dim InVal As Variant
Dim OutVal() As Variant
Dim j, k, i As Long
Dim NewSheet
Range("A1:AG15").Select
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
i = 1
InVal = Selection.Formula
ReDim OutVal(1 To Selection.Count, 1 To 3)
For j = 2 To UBound(InVal, 1)
For k = 2 To UBound(InVal, 2)
If InVal(j, k) <> "" Then
OutVal(i, 1) = InVal(j, 1)
OutVal(i, 2) = InVal(1, k)
OutVal(i, 3) = InVal(j, k)
i = i + 1
End If
Next k
Next j
Set NewSheet = Worksheets.Add
Range("A1") = "Дата"
Range("B1") = "Сотрудник"
Range("C1") = "Часы"
NewSheet.Range("A2").Resize(UBound(OutVal, 1), 3).Value = OutVal
End Sub
Sub Redesigner()
Dim InVal As Variant
Dim OutVal() As Variant
Dim j, k, i As Long
Dim NewSheet
Range("A1:AG15").Select
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
i = 1
InVal = Selection.Formula
ReDim OutVal(1 To Selection.Count, 1 To 3)
For j = 2 To UBound(InVal, 1)
For k = 2 To UBound(InVal, 2)
If InVal(j, k) <> "" Then
OutVal(i, 1) = InVal(j, 1)
OutVal(i, 2) = InVal(1, k)
OutVal(i, 3) = InVal(j, k)
i = i + 1
End If
Next k
Next j
Set NewSheet = Worksheets.Add
Range("A1") = "Дата"
Range("B1") = "Сотрудник"
Range("C1") = "Часы"
NewSheet.Range("A2").Resize(UBound(OutVal, 1), 3).Value = OutVal
End Sub