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 FunctionDen 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 FunctionTredje funktionen visar hur vi kan erhålla information om en cells format:
Function CELLFORMAT(cell)
Application.Volatile True
CELLFORMAT = cell.NumberFormatLocal
End FunctionFjä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 FunctionFemte 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 FunctionFö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(CELLTECKENFARG(A3)=3;A3/A4;A3)
Om cell innehåller en formel visa värdet i den cellen annars inte:
- =OM(CELLHFORMEL(A3)=SANT;A3;"")
Ett närbesläktad tips om celler har formler är: