VBA, lai šķirotu tabulu programmā Excel (4 metodes)

  • Dalīties Ar Šo
Hugh West

Īstenošana VBA makro ir visefektīvākā, ātrākā un drošākā metode, lai veiktu jebkuru operāciju programmā Excel. Šajā rakstā mēs parādīsim, kā izpildīt jebkuru operāciju programmā Excel. sakārtot tabulu programmā Excel ar VBA .

Lejupielādēt darba burtnīcu

No šejienes varat lejupielādēt bezmaksas praktisko Excel darba burtnīcu.

Tabulas šķirošana ar VBA.xlsm

Lietas, kas jāzina pirms VBA ieviešanas, lai šķirotu tabulu programmā Excel

Ir daži parametri, kas bieži jāizmanto, strādājot ar Atlasīt metode VBA . Tāpēc šeit mēs aplūkosim dažus parametrus, lai jūs varētu iepazīties ar tiem, rakstot kodu.

Parametrs Obligāti/pēc izvēles Datu tips Apraksts
Galvenais Pēc izvēles Variants Norāda diapazonu vai kolonnu, kuras vērtības ir šķirojamas.
Pasūtījums Pēc izvēles XlSortOrder Norāda, kādā secībā tiks veikta šķirošana.
  • xlAcending = Atlasīt augošā secībā.
  • xlSamazinoši = Atlasīt dilstošā secībā.
Virsraksts Pēc izvēles XlYesNoGuess Norāda, vai pirmajā rindā ir vai nav galvenes.
  • xlNo = Ja slejā nav nekādu virsrakstu; Noklusējuma vērtība.
  • xlYes = Ja kolonnām ir virsraksti.
  • xlUzzināt = Lai Excel varētu noteikt galvenes.

4 metodes, īstenojot VBA, lai šķirotu tabulu programmā Excel

Šajā sadaļā tiks parādīts, kā šķirot Excel tabulas ņemot vērā vērtība, krāsas, ikonas un vairākas kolonnas ar VBA kods.

1. Iebūvējiet VBA, lai Excel programmā sakārtotu tabulu pēc vērtības

Aplūkojot šādu piemēru, mēs sakārtot šo tabulu pēc vērtībām atrodas Mark slejā dilstošā secībā.

Soļi:

  • Preses Alt + F11 uz tastatūras vai atveriet cilni Izstrādātājs -> Visual Basic lai atvērtu Visual Basic redaktors .

  • Iznirstošajā koda logā izvēlnes joslā noklikšķiniet uz Ievietot -> Modulis .

  • Nokopējiet un ielīmējiet kodu logā šādu kodu.
 Sub SortTableValue() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("SortTBL") Set iColumn = Range("SortTBL[Marks]") With iTable.Sort .SortFields.Clear .SortFields.Add Key:=iColumn, SortOn:=xlSortOnValues, Order:=xlDescending .Header = xlYes .Apply End With End Sub 

Tagad jūsu kods ir gatavs darbam.

Šeit,

  • SortTBL → Norādīts tabulas nosaukums.
  • SortTBL[Marks] -> Norādīts šķirojamās tabulas kolonnas nosaukums.
  • Key1:=iColumn → Norādīts kolonnu diapazons, lai kods zinātu, kuru tabulas kolonnu šķirot.
  • Order1:=xlDescending → Norādīts pasūtījums kā xlSamazinoši lai sakārtotu kolonnu dilstošā secībā. Ja kolonnu vēlaties sakārtot augošā secībā, rakstiet xlAcending tā vietā.
  • Header:= xlYes → Tā kā šīs tabulas kolonnai ir galvene, mēs to norādījām ar xlYes iespēja.

  • Preses F5 uz tastatūras vai izvēlnes joslā izvēlieties Run -> Run Sub/UserForm Varat arī vienkārši noklikšķināt uz maza ikona Atskaņot apakšizvēlnes joslā, lai palaistu makro.

Redzēsiet, ka jūsu tabulas slejā tagad ir sakārtoti dilstošā secībā .

Lasiet vairāk: Kā Excel programmā datus sakārtot pēc vērtības (5 vienkāršas metodes)

2. Ievietojiet VBA makrokontroles programmu, lai šķirotu tabulu vairākām kolonnām

Varat arī sakārtot tabulu pēc vairākiem stabiņiem programmā Excel ar VBA makro.

Iepriekš minētajā tabulā mēs sakārtosim kolonnas. Nosaukums un Departaments augošā secībā.

Soļi:

  • Tāpat kā iepriekš, atveriet Visual Basic redaktors no Izstrādātājs cilne un Ievietot a Modulis koda logā.
  • Koda logā nokopējiet un ielīmējiet šādu kodu.
 Sub SortTable() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("TableValue") Set iColumn1 = Range("TableValue[Name]") Set iColumn2 = Range("TableValue[Department]") With iTable.Sort .SortFields.Clear .SortFields.Add Key:=iColumn1, Order:=xlAscending .SortFields.Add Key:=iColumn2, Order:=xlAscending.Header = xlYes .Apply End With End Sub 

Tagad jūsu kods ir gatavs darbam.

Šeit,

  • TableValue → Norādīts tabulas nosaukums.
  • TableValue[Nosaukums] -> Norādīts šķirojamās tabulas pirmās kolonnas nosaukums.
  • TableValue[Department] -> Norādīts šķirojamās tabulas otrās kolonnas nosaukums.
  • Key1:=iColumn1 → Norādīts kolonnu diapazons, lai kods zinātu, kura pirmā kolonna tabulā ir jāsašķiro.
  • Key1:=iColumn2 → Norādīts kolonnu diapazons, lai kods zinātu, ka ir jāsašķiro otrā tabulas kolonna.
  • Order1:=xlAscending → Norādīts pasūtījums kā xlAcending lai sakārtotu kolonnu dilstošā secībā. Ja vēlaties sakārtot kolonnu dilstošā secībā, tad rakstiet xlSamazinoši tā vietā.
  • Header:= xlYes → Tā kā šīs tabulas kolonnām ir galvenes, mēs norādījām to ar xlYes iespēja.

  • Palaist šo kodu, un jūs iegūsiet abus sakārtotas tabulas kolonnas augošā secībā.

Lasīt vairāk: Kā automātiski šķirot vairākas Excel kolonnas (3 veidi)

Līdzīgi lasījumi

  • Kā sakārtot unikālu sarakstu programmā Excel (10 noderīgas metodes)
  • Šķirotu masīvu ar Excel VBA (gan augošā, gan dilstošā secībā)
  • Kā šķirot un filtrēt datus programmā Excel (pilnīga rokasgrāmata)
  • Excel automātiskā šķirošana, kad mainās dati (9 piemēri)
  • Izlases kārtošana programmā Excel (formulas + VBA)

3. Īsteno makro, lai sakārtotu tabulu pēc šūnu krāsas programmā Excel

Varat arī sakārtot tabulu pēc šūnu krāsas kas tajā ir.

Izmantojot iepriekš minēto tabulu kā piemēru, parādīsim, kā to sakārtot, pamatojoties uz šajā tabulā esošajām krāsām.

Soļi:

  • Kā jau iepriekš norādīts, atvērtā Visual Basic redaktors no Izstrādātājs cilne un Ievietot a Modulis koda logā.
  • Koda logā nokopējiet un ielīmējiet šādu kodu.
 Sub SortTableColor() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("SortTable") Set iColumn = Range("SortTable[Marks]") With iTable.Sort .SortFields.Clear .SortFields.Add(Key:=iColumn, Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(248, 203, 173) .SortFields.Add(Key:=iColumn,Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(255, 217, 102) .SortFields.Add(Key:=iColumn, Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(198, 224, 180) .SortFields.Add(Key:=iColumn, Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(180, 198, 231) .Header = xlYes .Apply End With End Sub 

Tagad jūsu kods ir gatavs darbam.

Šeit RGB kodus, ko mēs nodrošinājām, jūs varat atrast to vai jebkuru citu RGB kodu, ko vēlaties, sekojot tālāk sniegtajam gifam.

  • Vienkārši noklikšķiniet uz krāsaina šūna .
  • In the Sākums noklikšķiniet uz cilnes bultiņa blakus Fill Color pēc tam izvēlieties Vairāk krāsu . Jūs redzēsiet RGB kodi Pielāgots parādījās cilne Krāsas uznirstošais logs.

  • Palaist šo kodu, un jūsu tabula būs sakārtoti pēc krāsām .

Lasīt vairāk: Kā programmā Excel šķirot pēc krāsas (4 kritēriji)

4. Piemērojiet VBA, lai sakārtotu Excel tabulu pēc ikonas

Pieņemsim, ka datu kopas tabulā ir ikonas, lai to būtu vieglāk lasīt. Varat sakārtot tabulu, pamatojoties uz ikonām programmā Excel ar VBA makro.

Aplūkojiet iepriekš minēto datu kopu. Šajā tabulā blakus skaitļu vērtībām ir ikonas. Marks kolonnas, lai mēs varētu saprast, kuram skolēnam ir labi, kuram slikti un kuram vidēji labi rezultāti.

Ņemiet vērā, ka, ja nezināt, kā šūnā ievietot ikonu, varat to vienkārši izdarīt, izmantojot komandu Nosacījumu formatēšana funkciju programmā Excel.

  • Atlasiet visu diapazonu vai kolonnu.
  • Iet uz Nosacījumu formatēšana -> Ikonu komplekti . Pēc tam izvēlieties jebkuru ikonu komplektu, ko vēlaties, izmantojot šo opciju.

Soļi, lai sakārtot tabulu, pamatojoties uz ikonām ir norādītas turpmāk.

Soļi:

  • Atvērt Visual Basic redaktors no Izstrādātājs cilne un Ievietot a Modulis koda logā.
  • Koda logā nokopējiet un ielīmējiet šādu kodu.
 Sub SortTableIcon() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("IconTable") Set iColumn = Range("IconTable[Marks]") With iTable.Sort .SortFields.Clear .SortFields.Add(Key:=iColumn, Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(1) .SortFields.Add(Key:=iColumn,Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(2)   .SortFields.Add(Key:=iColumn, Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(3)   .SortFields.Add(Key:=iColumn, Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(4)   .SortFields.Add(Key:=iColumn,Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(5) .Header = xlYes .Apply End With End Sub 

Tagad jūsu kods ir gatavs darbam.

Šeit,

  • xl5Arrows -> Mēs izvēlējāmies 5 bultas no opcijas Nosacījumu formatēšana .
  • Prece (1) -> Norādīts pirmais bultas ikonas tips.
  • Prece (2) -> Norādīts otrais bultas ikonas tips.
  • Prece (3) -> Norādīts trešais bultas ikonas tips.
  • Prece (4) -> Norādīts ceturtais bultas ikonas tips.
  • Prece (5) -> Norādīts piektais bultas ikonas tips.

  • Palaist šo kodu, un tabula būs sakārtoti pēc ikonām .

Lasīt vairāk: Kā automātiski sakārtot tabulu programmā Excel (5 metodes)

Secinājums

Šajā rakstā tika parādīts, kā sakārtot tabulu programmā Excel VBA . es ceru, ka šis raksts jums ir bijis ļoti noderīgs. Ja jums ir kādi jautājumi par šo tēmu, droši jautājiet.

Hjū Vests ir ļoti pieredzējis Excel treneris un analītiķis ar vairāk nekā 10 gadu pieredzi šajā nozarē. Viņam ir bakalaura grāds grāmatvedībā un finansēs un maģistra grāds uzņēmējdarbības vadībā. Hjū aizraujas ar mācīšanu, un viņš ir izstrādājis unikālu mācīšanas pieeju, kas ir viegli izpildāma un saprotama. Viņa ekspertu zināšanas programmā Excel ir palīdzējušas tūkstošiem studentu un profesionāļu visā pasaulē uzlabot savas prasmes un izcelties karjerā. Izmantojot savu emuāru, Hjū dalās savās zināšanās ar pasauli, piedāvājot bezmaksas Excel apmācības un tiešsaistes apmācību, lai palīdzētu personām un uzņēmumiem pilnībā izmantot savu potenciālu.