Fylkisformúlur eru einn af öflugustu eiginleikum Excel. Ef þú þekkir fylkisformúlur muntu gleðjast að vita að þú getur búið til VBA aðgerðir sem skila fylki.
Skilar fjölda mánaðarheita
Við skulum byrja á einföldu dæmi. Mánaðarnöfn aðgerðin skilar 12 þátta fylki af — þú giskaðir á það — mánaðarnöfn.
Fall mánaðanöfn()
Mánaðarnöfn = Array(“janúar”, “febrúar”, “mars”, _
"apríl", "maí", "júní", "júlí", "ágúst", _
"September", "október", "nóvember", "desember")
Lokaaðgerð
Til að nota MonthNames fallið í vinnublaði, verður þú að slá það inn sem 12 fruma fylkisformúlu. Til dæmis, veldu svið A2:L2 og sláðu inn =MonthNames() . Ýttu síðan á Ctrl+Shift+Enter til að slá inn fylkisformúluna í öllum 12 völdum hólfum. Skoðaðu útkomuna.

Notkun MonthNames fallsins til að skila 12-eininga fylki.
Ef þú vilt að mánaðarnöfnin birtist í dálki skaltu velja 12 frumur í dálki og nota þessa fylkisformúlu. (Ekki gleyma að slá það inn með því að ýta á Ctrl+Shift+Enter.)
=TRANSPOSE(Mánaðarnöfn())
Þú getur líka valið einn mánuð úr fylkinu. Hér er formúla (ekki fylkisformúla) sem sýnir fjórða þáttinn í fylkinu: apríl.
=INDEX(Mánaðarnöfn(),4)
Skila flokkuðum lista
Segjum sem svo að þú sért með lista yfir nöfn sem þú vilt sýna í raðaðri röð í öðru sviði hólfa. Væri ekki gaman að láta verkefnablaðsaðgerð gera það fyrir þig?
Þessi sérsniðna aðgerð gerir einmitt það: Hún tekur eins dálkssvið af frumum sem rök og skilar síðan fylki af þessum frumum raðað. Svið A2:A13 inniheldur nokkur nöfn. Svið C2:C13 inniheldur þessa fjölfrumu fylkisformúlu. (Mundu að þú verður að slá inn formúluna með því að ýta á Ctrl+Shift+Enter.)

Að nota sérsniðna aðgerð til að skila flokkuðu sviði.
=Raðað(A2:A13)
Hér er kóðinn fyrir flokkaða aðgerðina:
Aðgerð raðað (Rng As Range)
Dimma SortedData() Sem afbrigði
Dimm klefi sem svið
Dim Temp As Variant, i As Long, j As Long
Dimma NonEmpty As Long
' Flytja gögn til SortedData
Fyrir hverja frumu í Rng
Ef ekki er tómt (klefi) þá
NonEmpty = NonEmpty + 1
ReDim varðveita flokkuð gögn (1 í ekki tóm)
SortedData(NonEmpty) = Cell.Value
End If
Næsta klefi
' Raða fylkinu
Fyrir i = 1 Til NonEmpty
Fyrir j = i + 1 Til NonEmpty
Ef SortedData(i) > SortedData(j) Þá
Temp = SortedData(j)
SortedData(j) = SortedData(i)
SortedData(i) = Temp
End If
Næsta j
Næst i
' Flyttu fylkið og skilaðu því
Sorted = Application.Transpose(SortedData)
Lokaaðgerð
Sorted aðgerðin byrjar á því að búa til fylki sem heitir SortedData. Þetta fylki inniheldur öll óeyðugildin á viðfangssviðinu. Næst er SortedData fylkið raðað með því að nota kúluflokkunaralgrím. Vegna þess að fylkið er lárétt fylki verður að yfirfæra það áður en það er skilað af fallinu.
Raðaða aðgerðin virkar með svið af hvaða stærð sem er, svo framarlega sem það er í einum dálki eða röð. Ef óflokkuðu gögnin eru í röð þarf formúlan þín að nota TRANSPOSE aðgerð Excel til að birta flokkuð gögn lárétt. Til dæmis:
=TRANSPOSE(Raðað(A16:L16))