VBA na triedenie tabuľky v programe Excel (4 metódy)

  • Zdieľajte To
Hugh West

Implementácia Makro VBA je najefektívnejšia, najrýchlejšia a najbezpečnejšia metóda na spustenie akejkoľvek operácie v programe Excel. V tomto článku vám ukážeme, ako zoradiť tabuľku v programe Excel pomocou VBA .

Stiahnite si pracovný zošit

Bezplatný cvičný zošit Excel si môžete stiahnuť odtiaľto.

Triedenie tabuľky pomocou VBA.xlsm

Čo je potrebné vedieť pred implementáciou VBA na triedenie tabuľky v programe Excel

Existujú niektoré parametre, ktoré musíte často používať pri práci s Triediť metóda VBA Preto si tu rozoberieme niektoré parametre, aby ste sa s nimi oboznámili pri písaní kódu.

Parameter Povinné/ voliteľné Typ údajov Popis
Kľúč Voliteľné Variant Určuje rozsah alebo stĺpec, ktorého hodnoty sa majú zoradiť.
Objednávka Voliteľné XlSortOrder Určuje poradie, v ktorom sa triedenie vykoná.
  • xlVzostupné = Zoradenie vo vzostupnom poradí.
  • xlZostupne = Zoradenie v zostupnom poradí.
Záhlavie Voliteľné XlYesNoGuess Určuje, či prvý riadok obsahuje hlavičky alebo nie.
  • xlNo = Keď stĺpec nemá žiadne záhlavie; Predvolená hodnota.
  • xlYes = Keď majú stĺpce hlavičky.
  • xlHádajte = Umožnenie programu Excel určiť záhlavia.

4 metódy implementácie VBA na triedenie tabuľky v programe Excel

V tejto časti sa dozviete, ako triedenie tabuliek Excel zohľadnením hodnota, farby, ikony a viacero stĺpcov s VBA kód.

1. Vloženie VBA na zoradenie tabuľky podľa hodnoty v programe Excel

Na nasledujúcom príklade uvedieme zoradiť túto tabuľku podľa hodnôt prítomné v Mark stĺpec v zostupnom poradí.

Kroky:

  • Tlač Alt + F11 na klávesnici alebo prejdite na kartu Vývojár -> Visual Basic otvoriť Editor jazyka Visual Basic .

  • Vo vyskakovacom okne kódu kliknite na paneli ponúk na položku Vložiť -> Modul .

  • Skopírujte nasledujúci kód a vložte ho do okna kódu.
 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 

Váš kód je teraz pripravený na spustenie.

Tu,

  • SortTBL → Zadaný názov tabuľky.
  • SortTBL[Značky] -> Zadaný názov stĺpca tabuľky na triedenie.
  • Key1:=iColumn → Zadajte rozsah stĺpcov, aby kód vedel, ktorý stĺpec v tabuľke má triediť.
  • Order1:=xlDescending → Zadané poradie ako xlZostupne ak chcete stĺpec zoradiť zostupne. Ak chcete stĺpec zoradiť vzostupne, napíšte xlVzostupné namiesto toho.
  • Hlavička:= xlYes → Keďže stĺpec v tejto tabuľke má záhlavie, tak sme ho zadali pomocou xlYes možnosť.

  • Tlač F5 na klávesnici alebo na paneli ponúk vyberte Run -> Run Sub/UserForm Môžete tiež jednoducho kliknúť na malá ikona Play na paneli podponúk, aby ste makro spustili.

Uvidíte, že stĺpec v tabuľke je teraz zoradené zostupne .

Prečítajte si viac: Ako zoradiť údaje podľa hodnoty v programe Excel (5 jednoduchých metód)

2. Vloženie makra VBA na triedenie tabuľky pre viacero stĺpcov

Môžete tiež zoradiť tabuľku pre viacero stĺpcov v programe Excel pomocou VBA makro.

Z uvedenej tabuľky zoradíme stĺpce Názov a Oddelenie vo vzostupnom poradí.

Kroky:

  • Rovnaký spôsob ako predtým, otvoriť Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
  • V okne kódu skopírujte nasledujúci kód a vložte ho.
 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 

Váš kód je teraz pripravený na spustenie.

Tu,

  • TableValue → Zadaný názov tabuľky.
  • TableValue[Name] -> Zadaný názov prvého stĺpca tabuľky na triedenie.
  • TableValue[Department] -> Zadaný názov druhého stĺpca tabuľky na triedenie.
  • Key1:=iColumn1 → Zadajte rozsah stĺpcov, aby kód vedel, že prvý stĺpec v tabuľke sa má zoradiť.
  • Key1:=iColumn2 → Zadaný rozsah stĺpcov, aby kód vedel, že druhý stĺpec v tabuľke je potrebné zoradiť.
  • Order1:=xlAscending → Zadané poradie ako xlVzostupné na zoradenie stĺpca zostupne. Ak chcete stĺpec zoradiť zostupne, napíšte xlZostupne namiesto toho.
  • Hlavička:= xlYes → Keďže stĺpce tejto tabuľky majú hlavičky, tak sme ich špecifikovali pomocou xlYes možnosť.

  • Spustiť tento kód a získate obe stĺpce tabuľky zoradené vo vzostupnom poradí.

Prečítajte si viac: Ako automaticky zoradiť viac stĺpcov v programe Excel (3 spôsoby)

Podobné čítania

  • Ako zoradiť jedinečný zoznam v programe Excel (10 užitočných metód)
  • Zoradenie poľa pomocou Excel VBA (vzostupné aj zostupné poradie)
  • Ako triediť a filtrovať údaje v programe Excel (kompletný návod)
  • Automatické triedenie programu Excel pri zmene údajov (9 príkladov)
  • Náhodné triedenie v programe Excel (vzorce + VBA)

3. Implementácia makra na triedenie tabuľky podľa farby buniek v programe Excel

Môžete tiež zoradiť tabuľku podľa farby bunky ktoré obsahuje.

Na príklade vyššie uvedenej tabuľky si ukážeme, ako ju zoradiť na základe farieb, ktoré táto tabuľka obsahuje.

Kroky:

  • Ako už bolo uvedené, otvorené Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
  • V okne kódu skopírujte nasledujúci kód a vložte ho.
 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 

Váš kód je teraz pripravený na spustenie.

Tu sa RGB kódy, ktoré sme poskytli, môžete nájsť alebo akékoľvek iné RGB kód, ktorý chcete, podľa nižšie uvedeného gifu.

  • Stačí kliknúť na farebná bunka .
  • V Domov kliknite na kartu šípka vedľa Farba výplne potom vyberte Viac farieb Uvidíte. RGB kódy v Vlastné karta sa objavila Farby vyskakovacie okno.

  • Spustiť tento kód a vaša tabuľka bude zoradené podľa farieb .

Prečítajte si viac: Ako triediť podľa farby v programe Excel (4 kritériá)

4. Použitie VBA na zoradenie tabuľky Excel podľa ikony

Predpokladajme, že tabuľka súboru údajov má ikony pre lepšiu čitateľnosť. tabuľka založená na ikonách v programe Excel pomocou VBA makro.

Pozrite sa na vyššie uvedený súbor údajov. Tu má tabuľka ikony vedľa číselných hodnôt v Značky stĺpcov, aby sme vedeli, ktorý žiak má dobré, zlé alebo priemerné výsledky.

Všimnite si, že ak neviete, ako môžete vložiť ikonu do bunky, môžete to jednoducho urobiť pomocou Podmienené formátovanie v programe Excel.

  • Vyberte celý rozsah alebo stĺpec.
  • Prejsť na Podmienené formátovanie -> Sady ikon . Potom si z tejto možnosti vyberte ľubovoľné sady ikon, ktoré chcete.

Kroky k zoradiť tabuľku na základe ikon sú uvedené nižšie.

Kroky:

  • Otvorte stránku Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
  • V okne kódu skopírujte nasledujúci kód a vložte ho.
 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 

Váš kód je teraz pripravený na spustenie.

Tu,

  • xl5Arrows -> Vybrali sme sada 5 šípok z možnosti v Podmienené formátovanie .
  • Položka (1) -> Zadané prvý typ ikony šípky.
  • Položka (2) -> Zadané druhý typ ikony šípky.
  • Položka (3) -> Zadané tretí typ ikony šípky.
  • Položka (4) -> Zadané štvrtý typ ikony šípky.
  • Položka (5) -> Zadané piaty typ ikony šípky.

  • Spustiť tento kód a tabuľka bude zoradené na základe ikon .

Prečítajte si viac: Ako automaticky zoradiť tabuľku v programe Excel (5 metód)

Záver

Tento článok vám ukázal, ako zoradiť tabuľku v programe Excel VBA . dúfam, že tento článok bol pre vás veľmi prínosný. Ak máte akékoľvek otázky týkajúce sa tejto témy, neváhajte sa opýtať.

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.