Funktion för summering av synliga celler

Här i detta tips visas hur vi skapar en funktion för att summera endast de celler som är synliga inom ett angivet cellområdet. Detta kan komma väl till pass i många sammanhang.

Används verktyget Autofilter rekommenderas att funktionen DELSUMMA används istället - se Tabellberäkningar.

Denna egendefinierade funktion kräver att beräkning av cellområdet, arbetsbladet eller arbetsboken sker innan uppdateringen kan visas på skärmen.

Beräkning kan ske antingen manuellt eller via kod.

Manuellt:

 

VBA:

Beräkning av cellområde:
Worksheets("Blad1").Range("A1:A10").Calculate
Beräkning av arbetsblad:
Worksheets("Blad1").Calculate
Beräkning av alla öppna arbetsböcker:
Application.CalculateFull
*

         * Endast för XL 2000 och 2002

 

Option Explicit

 Function SSUMMA(Omrade As Range)

   '© 2002 Alla rättigheter XL-Dennis

   Dim rnCell As Range

   Application.Volatile  

   For Each rnCell In Omrade

      If Not (rnCell.Rows.Hidden Or rnCell.Columns.Hidden) Then

         If IsNumeric(rnCell.Value) Then

            SSUMMA = SSUMMA + rnCell.Value

         End If

      End If

   Next rnCell

End Function