Arbejde med VBA-funktioner, der returnerer et array i Excel 2016

Matrixformler er en af ​​Excels mest kraftfulde funktioner. Hvis du er fortrolig med matrixformler, vil du være glad for at vide, at du kan oprette VBA-funktioner, der returnerer en matrix.

Returnerer en række månedsnavne

Lad os starte med et simpelt eksempel. Funktionen Månedsnavne returnerer en matrix med 12 elementer af - du gættede det - månedsnavne.

Funktion Månedsnavne()
  Månedsnavne = Array("januar", "februar", "marts", _
   "April", "Maj", "Juni", "Juli", "August", _
   "September", "Oktober", "November", "December")
Afslut funktion

For at bruge funktionen Månedsnavne i et regneark, skal du indtaste det som en 12-cellers matrixformel. Vælg f.eks. område A2:L2 og indtast =MonthNames() . Tryk derefter på Ctrl+Shift+Enter for at indtaste matrixformlen i alle 12 markerede celler. Tjek resultatet.

Arbejde med VBA-funktioner, der returnerer et array i Excel 2016

Brug af funktionen Månedsnavne til at returnere et array med 12 elementer.

Hvis du ønsker, at månedsnavnene skal vises i en kolonne, skal du vælge 12 celler i en kolonne og bruge denne matrixformel. (Glem ikke at indtaste det ved at trykke på Ctrl+Shift+Enter.)

=TRANSPOSER(Månedsnavne())

Du kan også vælge en enkelt måned fra arrayet. Her er en formel (ikke en matrixformel), der viser det fjerde element i matrixen: April.

=INDEX(Månedsnavne(),4)

Returnerer en sorteret liste

Antag, at du har en liste over navne, du vil vise i sorteret rækkefølge i et andet celleområde. Ville det ikke være rart at have en regnearksfunktion til at gøre det for dig?

Denne brugerdefinerede funktion gør netop det: Den tager et enkelt kolonneområde af celler som sit argument og returnerer derefter en række af disse celler sorteret. Område A2:A13 indeholder nogle navne. Område C2:C13 indeholder denne flercellede matrixformel. (Husk at du skal indtaste formlen ved at trykke på Ctrl+Shift+Enter.)

Arbejde med VBA-funktioner, der returnerer et array i Excel 2016

Brug af en brugerdefineret funktion til at returnere et sorteret område.

=Sorteret(A2:A13)

Her er koden til funktionen Sorteret:

Funktion sorteret (Rng som område)
  Dim SortedData() som variant
  Dæmp celle som rækkevidde
  Dim Temp As Variant, i As Long, j As Long
  Dim ikke-tom så længe
' Overfør data til SortedData
  For hver celle i Rng
    Hvis ikke er tom (celle) så
      NonEmpty = NonEmpty + 1
      ReDim Bevar SortedData(1 til NonEmpty)
      SortedData(NonEmpty) = Cell.Value
    Afslut Hvis
  Næste celle
' Sorter arrayet
  For i = 1 Til Ikke-tom
    For j = i + 1 til ikke-tom
      Hvis SortedData(i) > SortedData(j) Så
        Temp = SortedData(j)
        SortedData(j) = SortedData(i)
        SortedData(i) = Temp
      Afslut Hvis
    Næste j
  Næste i
' Transponer arrayet og returner det
  Sorteret = Application.Transpose(SortedData)
Afslut funktion

Funktionen Sorteret starter med at skabe et array med navnet SortedData. Denne matrix indeholder alle de ikke-blanke værdier i argumentområdet. Derefter sorteres SortedData-arrayet ved hjælp af en boble-sorteringsalgoritme. Da arrayet er et vandret array, skal det transponeres, før det returneres af funktionen.

Den sorterede funktion fungerer med et område af enhver størrelse, så længe det er i en enkelt kolonne eller række. Hvis de usorterede data er i en række, skal din formel bruge Excels TRANSPOSE-funktion til at vise de sorterede data vandret. For eksempel:

=TRANSPOSER(Sorteret(A16:L16))

Sådan blokerer du Microsoft Word fra at åbne filer i skrivebeskyttet tilstand på Windows

Sådan blokerer du Microsoft Word fra at åbne filer i skrivebeskyttet tilstand på Windows

Sådan blokerer du Microsoft Word fra at åbne filer i skrivebeskyttet tilstand på Windows Microsoft Word åbner filer i skrivebeskyttet tilstand, hvilket gør det umuligt at redigere det? Bare rolig, metoderne er nedenfor

Sådan rettes forkert udskrivning af Microsoft Word-dokumenter

Sådan rettes forkert udskrivning af Microsoft Word-dokumenter

Sådan rettes fejl ved udskrivning af forkerte Microsoft Word-dokumenter Fejl ved udskrivning af Word-dokumenter med ændrede skrifttyper, rodede afsnit, manglende tekst eller tabt indhold er ret almindelige. Men lad være

Slet pen- og highlighter-tegninger på dine PowerPoint-dias

Slet pen- og highlighter-tegninger på dine PowerPoint-dias

Hvis du har brugt pennen eller highlighteren til at tegne på dine PowerPoint-dias under en præsentation, kan du gemme tegningerne til næste præsentation eller slette dem, så næste gang du viser den, starter du med rene PowerPoint-dias. Følg disse instruktioner for at slette pen- og highlighter-tegninger: Sletning af linjer en ved […]

Indhold af stilbibliotek i SharePoint 2010

Indhold af stilbibliotek i SharePoint 2010

Style-biblioteket indeholder CSS-filer, Extensible Stylesheet Language-filer (XSL) og billeder, der bruges af foruddefinerede mastersider, sidelayouts og kontrolelementer i SharePoint 2010. For at finde CSS-filer i Style-biblioteket på et udgivelsessted: Vælg Site Actions→ View Alt webstedsindhold. Indholdet af webstedet vises. Style-biblioteket ligger i […]

Formater tal i tusinder og millioner i Excel-rapporter

Formater tal i tusinder og millioner i Excel-rapporter

Overvæld ikke dit publikum med gigantiske tal. I Microsoft Excel kan du forbedre læsbarheden af ​​dine dashboards og rapporter ved at formatere dine tal, så de vises i tusinder eller millioner.

Sådan deler og følger du SharePoint-websteder

Sådan deler og følger du SharePoint-websteder

Lær, hvordan du bruger SharePoints sociale netværksværktøjer, der lader enkeltpersoner og grupper kommunikere, samarbejde, dele og forbinde.

Sådan konverteres datoer til julianske formater i Excel

Sådan konverteres datoer til julianske formater i Excel

Julianske datoer bruges ofte i produktionsmiljøer som et tidsstempel og hurtig reference for et batchnummer. Denne type datokodning giver detailhandlere, forbrugere og serviceagenter mulighed for at identificere, hvornår et produkt blev fremstillet, og dermed produktets alder. Julianske datoer bruges også i programmering, militæret og astronomi. Forskellige […]

Sådan opretter du en Access Web App

Sådan opretter du en Access Web App

Du kan oprette en webapp i Access 2016. Så hvad er en webapp overhovedet? Nå, web betyder, at det er online, og app er kun en forkortelse for "applikation". En Custom Web App er en online databaseapplikation, der tilgås fra skyen ved hjælp af en browser. Du bygger og vedligeholder webappen i desktopversionen […]

Hurtig startlinje i SharePoint 2010

Hurtig startlinje i SharePoint 2010

De fleste sider i SharePoint 2010 viser en liste over navigationslinks på linjen Hurtig start langs venstre side af siden. Hurtig startlinjen viser links til fremhævet webstedsindhold såsom lister, biblioteker, websteder og udgivelsessider. Hurtigstartlinjen indeholder to meget vigtige links: Linket Alt webstedsindhold: […]

Hvad betyder Solver-fejlmeddelelserne i Excel?

Hvad betyder Solver-fejlmeddelelserne i Excel?

Ved simple problemer finder Solver i Excel som regel hurtigt de optimale Solver-variableværdier for objektivfunktionen. Men i nogle tilfælde har Solver problemer med at finde de Solver-variableværdier, der optimerer objektivfunktionen. I disse tilfælde viser Solver typisk en meddelelse eller en fejlmeddelelse, der beskriver eller diskuterer det problem, der […]