Sub QuarterToMonthly()
Dim A, B, C, D
Dim Qdt As Date
Dim T As Long, X As Long, Mth As Long
Dim Val As Double
If ActiveSheet.Name <> "Sheet1" Then Sheets("Sheet1").Activate
Sheets("Sheet2").Range("B1").CurrentRegion.Offset(1, 0).ClearContents
With Range("B1").CurrentRegion
A = .Offset(1, 0).Value
End With
ReDim B(1 To UBound(A, 1), 1 To 3)
ReDim C(1 To UBound(A, 1), 1 To 3)
ReDim D(1 To UBound(A, 1), 1 To 3)
With Sheets("Sheet2")
.[B1] = "Date": .[C1] = "EmpName": .[D1] = "TotInc"
End With
For T = 1 To UBound(A, 1) - 1
X = X + 1
B(X, 1) = WorksheetFunction.EoMonth(A(T, 1), -2)
C(X, 1) = WorksheetFunction.EoMonth(A(T, 1), -1)
D(X, 1) = A(T, 1)
Val = Round(A(T, 3) / 3, 2)
B(X, 2) = A(T, 2): B(X, 3) = Val
C(X, 2) = A(T, 2): C(X, 3) = Val
D(X, 2) = A(T, 2): D(X, 3) = Val
If T = UBound(A, 1) - 1 Or A(T, 1) <> A(T + 1, 1) Then
With Sheets("Sheet2")
.Range("B" & Rows.Count).End(xlUp).Offset(1, 0).Resize(3 * X, 1).NumberFormat = "m/d/yyyy"
.Range("B" & Rows.Count).End(xlUp).Offset(1, 0).Resize(X, 3) = B
.Range("B" & Rows.Count).End(xlUp).Offset(1, 0).Resize(X, 3) = C
.Range("B" & Rows.Count).End(xlUp).Offset(1, 0).Resize(X, 3) = D
End With
X = 0
End If
Next T
End Sub
Bookmarks