Arbeide med VBA-funksjoner som returnerer en matrise i Excel 2016

Matriseformler er en av Excels kraftigste funksjoner. Hvis du er kjent med matriseformler, vil du gjerne vite at du kan lage VBA-funksjoner som returnerer en matrise.

Returnerer en rekke månedsnavn

La oss starte med et enkelt eksempel. MonthNames-funksjonen returnerer en 12-elements matrise med – du gjettet det – månedsnavn.

Funksjonsmånedsnavn()
  Månedsnavn = Array(“januar”, “februar”, “mars”, _
   "april", "mai", "juni", "juli", "august", _
   «September», «Oktober», «November», «Desember»)
Avslutt funksjon

For å bruke funksjonen MonthNames i et regneark, må du angi den som en 12-cellers matriseformel. Velg for eksempel område A2:L2 og skriv inn =MonthNames() . Trykk deretter Ctrl+Shift+Enter for å angi matriseformelen i alle de 12 valgte cellene. Sjekk ut resultatet.

Arbeide med VBA-funksjoner som returnerer en matrise i Excel 2016

Bruk av funksjonen MonthNames for å returnere en 12-elements matrise.

Hvis du vil at månedsnavnene skal vises i en kolonne, velger du 12 celler i en kolonne og bruker denne matriseformelen. (Ikke glem å angi den ved å trykke Ctrl+Shift+Enter.)

=TRANSPOSER(Månedsnavn())

Du kan også velge en enkelt måned fra arrayet. Her er en formel (ikke en matriseformel) som viser det fjerde elementet i matrisen: April.

=INDEKS(Månedsnavn(),4)

Returnerer en sortert liste

Anta at du har en liste over navn du vil vise i sortert rekkefølge i et annet celleområde. Ville det ikke vært fint å ha en regnearkfunksjon som gjør det for deg?

Denne egendefinerte funksjonen gjør nettopp det: Den tar et enkelt-kolonne område med celler som argument og returnerer deretter en rekke av disse cellene sortert. Område A2:A13 inneholder noen navn. Område C2:C13 inneholder denne flercellede matriseformelen. (Husk at du må skrive inn formelen ved å trykke Ctrl+Shift+Enter.)

Arbeide med VBA-funksjoner som returnerer en matrise i Excel 2016

Bruke en egendefinert funksjon for å returnere et sortert område.

=Sortert(A2:A13)

Her er koden for Sortert-funksjonen:

Funksjon sortert (Rng som område)
  Dim SortedData() som variant
  Dim celle som rekkevidde
  Dim Temp As Variant, i As Long, j As Long
  Dim ikke-tom så lenge
' Overfør data til SortedData
  For hver celle i Rng
    Hvis ikke er tom (celle) så
      NonEmpty = NonEmpty + 1
      ReDim Preserve SortedData(1 To NonEmpty)
      SortedData(NonEmpty) = Cell.Value
    Slutt om
  Neste celle
' Sorter matrisen
  For i = 1 til ikke-tom
    For j = i + 1 til ikke-tom
      Hvis SortedData(i) > SortedData(j) Da
        Temp = SortedData(j)
        SortedData(j) = SortedData(i)
        SortedData(i) = Temp
      Slutt om
    Neste j
  Neste i
' Transponer matrisen og returner den
  Sortert = Application.Transpose(SortedData)
Avslutt funksjon

Sortert-funksjonen starter med å lage en matrise som heter SortedData. Denne matrisen inneholder alle de ikke-blanke verdiene i argumentområdet. Deretter sorteres SortedData-matrisen ved hjelp av en boblesorteringsalgoritme. Fordi matrisen er en horisontal matrise, må den transponeres før den returneres av funksjonen.

Den sorterte funksjonen fungerer med et område av alle størrelser, så lenge det er i en enkelt kolonne eller rad. Hvis de usorterte dataene er på rad, må formelen din bruke Excels TRANSPOSE-funksjon for å vise de sorterte dataene horisontalt. For eksempel:

=TRANSPOSER(Sortert(A16:L16))

Hvordan blokkere Microsoft Word fra å åpne filer i skrivebeskyttet modus på Windows

Hvordan blokkere Microsoft Word fra å åpne filer i skrivebeskyttet modus på Windows

Hvordan blokkere Microsoft Word fra å åpne filer i skrivebeskyttet modus på Windows Microsoft Word åpner filer i skrivebeskyttet modus, noe som gjør det umulig å redigere dem? Ikke bekymre deg, metodene er nedenfor

Hvordan fikse feil utskrift av Microsoft Word-dokumenter

Hvordan fikse feil utskrift av Microsoft Word-dokumenter

Slik fikser du feil ved utskrift av feil Microsoft Word-dokumenter Feil ved utskrift av Word-dokumenter med endrede fonter, rotete avsnitt, manglende tekst eller tapt innhold er ganske vanlig. Men ikke gjør det

Slett penn- og highlighter-tegninger på PowerPoint-lysbilder

Slett penn- og highlighter-tegninger på PowerPoint-lysbilder

Hvis du har brukt pennen eller merkepennen til å tegne på PowerPoint-lysbildene dine under en presentasjon, kan du lagre tegningene til neste presentasjon eller slette dem, slik at du neste gang du viser dem starter med rene PowerPoint-lysbilder. Følg disse instruksjonene for å slette penn- og merkepenntegninger: Slette linje én på […]

Style Library-innhold i SharePoint 2010

Style Library-innhold i SharePoint 2010

Stilbiblioteket inneholder CSS-filer, Extensible Stylesheet Language-filer (XSL) og bilder som brukes av forhåndsdefinerte mastersider, sideoppsett og kontroller i SharePoint 2010. For å finne CSS-filer i stilbiblioteket til et publiseringsnettsted: Velg Site Actions→ View Alt innhold på nettstedet. Innholdet på nettstedet vises. Style-biblioteket ligger i […]

Formater tall i tusenvis og millioner i Excel-rapporter

Formater tall i tusenvis og millioner i Excel-rapporter

Ikke overveld publikum med gigantiske tall. I Microsoft Excel kan du forbedre lesbarheten til dashbordene og rapportene dine ved å formatere tallene dine slik at de vises i tusenvis eller millioner.

Hvordan dele og følge SharePoint-nettsteder

Hvordan dele og følge SharePoint-nettsteder

Lær hvordan du bruker SharePoints sosiale nettverksverktøy som lar enkeltpersoner og grupper kommunisere, samarbeide, dele og koble til.

Hvordan konvertere datoer til julianske formater i Excel

Hvordan konvertere datoer til julianske formater i Excel

Julianske datoer brukes ofte i produksjonsmiljøer som et tidsstempel og hurtigreferanse for et batchnummer. Denne typen datokoding lar forhandlere, forbrukere og serviceagenter identifisere når et produkt ble laget, og dermed alderen på produktet. Julianske datoer brukes også i programmering, militæret og astronomi. Forskjellig […]

Hvordan lage en Access Web App

Hvordan lage en Access Web App

Du kan lage en nettapp i Access 2016. Så hva er en nettapp egentlig? Vel, nettet betyr at det er online, og appen er bare en forkortelse for "applikasjon". En Custom Web App er en online databaseapplikasjon som du får tilgang til fra skyen ved hjelp av en nettleser. Du bygger og vedlikeholder nettappen i skrivebordsversjonen […]

Hurtigstartlinje i SharePoint 2010

Hurtigstartlinje i SharePoint 2010

De fleste sidene i SharePoint 2010 viser en liste over navigasjonskoblinger på hurtigstartlinjen langs venstre side av siden. Hurtigstartlinjen viser koblinger til innhold på nettstedet som lister, biblioteker, nettsteder og publiseringssider. Hurtigstartlinjen inneholder to svært viktige lenker: Linken for alt nettstedinnhold: […]

Hva betyr løserfeilmeldingene i Excel?

Hva betyr løserfeilmeldingene i Excel?

For enkle problemer finner Solver i Excel vanligvis raskt de optimale Solver-variabelverdiene for objektivfunksjonen. Men i noen tilfeller har Solver problemer med å finne Solver-variabelverdiene som optimerer objektivfunksjonen. I disse tilfellene viser Solver vanligvis en melding eller en feilmelding som beskriver eller diskuterer problemet som […]