ERLANDSEN DATA CONSULTING Excel & VBA Tips   Information in English / Informasjon på engelsk

Disse websidene oppdateres ikke lengre og er kun tilgjengelig for historikken sin skyld.

Klikk her for å gå til den oppdaterte informasjonen.

Returner hvert n-te element

Den egendefinerte funksjonen nedenfor vil returnere hvert n-te element fra et regnearkområde. Dette er en matrisefunksjon og den benyttes slik:
Merk det området du vil at funksjonen skal returnere verdiene til, f.eks. B1:B10.
Fyll inn funksjonen slik: = INDEXN(A1:A1000, 10)
Trykk Ctrl+Shift+Enter (i stedet for bare Enter) når du er ferdig.
Funksjonen vil nå returnere de første 10 (B1:B10=10 celler) av hvert 10-ende element i regnearkområdet A1:A1000.

Function INDEXN(InputRange As Range, N As Integer) As Variant
' returns every N-th item from InputRange
' select the desired target range for the function and
' enter as an array function with Ctrl+Shift+Enter.
Dim ItemList() As Variant, c As Range, i As Long, iCount As Long
    i = 0
    iCount = 0
    ReDim ItemList(1 To InputRange.Cells.Count  N)
    For Each c In InputRange
        i = i + 1
        If i Mod N = 0 Then
            iCount = iCount + 1
            On Error Resume Next
            ItemList(iCount) = c.Value
            On Error GoTo 0
        End If
    Next c
    INDEXN = ItemList
    If InputRange.Rows.Count >= InputRange.Columns.Count Then
        INDEXN = Application.WorksheetFunction.Transpose(INDEXN)
    End If
    Erase ItemList
End Function

 

Dokumentet er sist oppdatert 2000-02-05 12:42:38      Utskriftsvennlig versjon

 

Erlandsen Data Consulting     http://www.erlandsendata.no/   
Excel & VBA Tips   Copyright ©1999-2024    Ole P. Erlandsen   All rights reserved
E-post kontaktadresse