Find tal i kolonne og returner et forskud tal

Som flere andre makroer er denne lavet på opfordring, og er derfor målrettet mod en konkret situation, men den kan naturligvis tilpasses andre situationer. Udfordringen var at fine et bestemt tal i I-kolonnen og returnere det tal, der stod i K-kolonnen, en række under  den række, hvor tallet blev fundet. Hvis tallet står flere gange i I-kolonnen, skal tallene fra K-kolonnen summeres. Er der flere ark i mappen undersøges kolonne I i alle ark og tilhørende tal fra kolonne K summeres på tværs af arkene, Denne brugerdefinerede funktion løser problemet.

Function SumNumber(year As Integer) As Double

    Dim SumUp As Double

    Application.ScreenUpdating = False

    For Each sh In ActiveWorkbook.Sheets
        For Each c In sh.Range("i1:i100").Cells
            If c.Value = year Then
                SumUp = SumUp + c.Offset(1, 2).Value
            End If
        Next c
    Next sh

    SumNumber = SumUp

Application.ScreenUpdating = True

End Function

Funktionen bruges som alle andre funktioner. I den celle, hvor resultatet ønskes, skrives =SumNumber(tal, hvor tal er det tal, der szkal findes i I-kolonnen.

- Tilbage til makroer -
- Tilbage til Excel -