Option Explicit Public Sub ComputeAllSums() ComputeSums "Sheet1", "Sheet2" End Sub Public Sub ComputeSums(sMainSheet$, sSubSheet$) Dim lMainBankRow&, lSubBankRow& Dim sBank$ Dim dblSum# On Error GoTo ErrHandle ' Åýñåóç ôùí ôñáðåæþí áðü ôï main sheet lMainBankRow = 1 Do While ActiveWorkbook.Worksheets(sMainSheet).Cells(lMainBankRow, 1) <> "" sBank = ActiveWorkbook.Worksheets(sMainSheet).Cells(lMainBankRow, 1) ' Åýñåóç ôçò ôñÜðåæáò sBank óôï sub sheet êáé õðïëïãéóìüò áèñïßóìáôïò lSubBankRow = 1 Do While ActiveWorkbook.Worksheets(sSubSheet).Cells(lSubBankRow, 1) <> sBank lSubBankRow = lSubBankRow + 1 Loop lSubBankRow = lSubBankRow + 2 ' Ðçãáßíù óôçí 1ç ãñáììÞ ôçò ôñÜðåæáò ìå ôá ðïóÜ dblSum = 0 Do While ActiveWorkbook.Worksheets(sSubSheet).Cells(lSubBankRow, 3) <> "" dblSum = dblSum + ActiveWorkbook.Worksheets(sSubSheet).Cells(lSubBankRow, 3) lSubBankRow = lSubBankRow + 1 Loop ActiveWorkbook.Worksheets(sMainSheet).Cells(lMainBankRow, 2) = dblSum lMainBankRow = lMainBankRow + 1 Loop ToExit: Exit Sub ErrHandle: MsgBox Err.Number & " - " & Err.Description, , "ERROR" Resume ToExit End Sub