Funktioner för cellinformation

Här visas ett flertal funktioner för att få information om cellinnehåll. Dessa ersätter inga inbyggda utan är att betrakta som kompletterande funktioner.

För ytterligare information om celluppgifter se:

Dessa funktioner kan även användas vid mer avancerade formler.


För att uppdatering sker krävs en beräkning av arbetsboken - Det sker vanligtvis automatiskt men kan ibland kräva att vi använder oss av F9-tangenten.

Första funktionen visar formeln en cell håller i klartext. Genom "Local"-tillägget erhålls det svenska namnet på formeln. Det sker även en evaluering om cellen håller en matrisformel eller inte:

Function CELLFORMEL(cell)
Application.Volatile True
If cell.HasArray Then
   CELLFORMEL = "{" & cell.FormulaLocal & "}"
Else
   CELLFORMEL = cell.FormulaLocal
End If
End Function

Den andra funktionen visar hur vi kan erhålla informationen om cell håller en formel (SANT) eller inte (FALSKT)

Function CELLHFORMEL(cell)
Application.Volatile True
CELLHFORMEL = cell.HasFormula

End Function

Tredje funktionen visar hur vi kan erhålla information om en cells format:

Function CELLFORMAT(cell)
Application.Volatile True
CELLFORMAT = cell.NumberFormatLocal

End Function

Fjärde funktionen demonstrerar hur vi kan få information om en cells teckenfärg, den uttrycks i heltalsfärgkoder:

Function CELLTECKENFARG(cell)
Application.Volatile True
CELLTECKENFARG = cell.Font.ColorIndex

End Function

Femte funktionen belyser hur vi kan erhålla information om en cells färg, den uttrycks i heltalsfärgkoder:

Function CELLFARG(cell)
Application.Volatile True
CELLFARG = cell.Interior.ColorIndex

End Function

För ett praktiskt exempel se Skapa uppslagsvärden mha av cellfärg


Den sista funktionen visar hur vi kan räkna antal celler i ett område som har en viss färg:

Function ANTALFARG(Omrade As Range, FargIndex As Integer)
Dim rnCell As Range, iAntal As Integer

For Each rnCell In Omrade
     If rnCell.Interior.ColorIndex = FargIndex Then
        iAntal = iAntal + 1
     End If
Next rnCell

ANTALFARG = iAntal
End Function


Några exempel på användning av dessa formler:

Standardtillämpningar
Formel Resultat
=CELLFORMEL(A3) SUMMA(A1:A3)
=CELLFORMEL(A4) {=SUMMA((B1:B3="")*(A1:A4))}
=CELLHFORMEL SANT
=CELLFORMAT(A3) 0%
=CELLTECKEFARG(A3) 3 (Röd)
=CELLFARG(A3) 6 (Gul)
=ANTALFARG(A3:A5;6) Antal celler med med gul färg

 

Om teckenfärg är lika med 3 (Röd) så utförs en division:

Om cell innehåller en formel visa värdet i den cellen annars inte:

 

Ett närbesläktad tips om celler har formler är: