Attribute VB_Name = "Common" Sub test() Dim sPath As String Dim calc_result As Variant Config.init sPath = "D:\_workspace\carousell-comission-playlist\jimmycheung93\task4\_poc\parse_xlsx\parse_Agent_Sales\Agent_Sales.xlsx" AgentSalesMeta = ReadAgentSalesWorkbook.Run(sPath) sPath = "D:\_workspace\carousell-comission-playlist\jimmycheung93\task4\_poc\parse_xlsx\parse_Product_Sales\Product_Sales.xlsx" ProductSalesMeta = ReadProductSalesWorkbook.Run(sPath) sPath = "D:\_workspace\carousell-comission-playlist\jimmycheung93\task4\_poc\parse_xlsx\parse_Agent_Working_Performance\Agent_Working_Performance.xlsx" AgentWorkingPerformanceMeta = ReadAgentWorkingPerfWorkbook.Run(sPath) CombinedSalesMeta = Array(AgentSalesMeta, ProductSalesMeta, AgentWorkingPerformanceMeta) Const FILE_PATH As String = "D:\_workspace\carousell-comission-playlist\jimmycheung93\task4\_poc\main_xlsm\helloworld.xlsx" calc_result = SalesAnalysisMonthlyAndQuart.CalcSalesAnalysisMonthlyAndQuart(CombinedSalesMeta) WriteSalesAnalysisMonthlyAndQuart calc_result, FILE_PATH ' write sales analysis product category calc_result = CalcSalesAnalysisFileSalesAmount(CombinedSalesMeta) WriteSalesAnalysisFileSalesAmount calc_result, FILE_PATH calc_result = CalcSalesAnalysisFileSalesUnit(CombinedSalesMeta) WriteSalesAnalysisFileSalesUnit calc_result, FILE_PATH calc_result = AgentPerformanceAnalysis.Calc(CombinedSalesMeta) AgentPerformanceAnalysis.WriteTable calc_result, FILE_PATH calc_result = NoOfCasesTable.Calc(CombinedSalesMeta) NoOfCasesTable.WriteTable calc_result, FILE_PATH Debug.Print "done" End Sub Function GetQuarterFromMonth(ByVal month As Integer) As Integer GetQuarterFromMonth = Int((month - 1) / 3) + 1 End Function Function SortArray(ByRef arr() As Double) As Double() Dim i As Long, j As Long Dim temp As Variant For i = LBound(arr) To UBound(arr) - 1 For j = i + 1 To UBound(arr) If arr(i) < arr(j) Then temp = arr(i) arr(i) = arr(j) arr(j) = temp End If Next j Next i SortArray = arr End Function