Obsah
Implementace Makro VBA je nejefektivnější, nejrychlejší a nejbezpečnější metodou pro spuštění jakékoli operace v aplikaci Excel. V tomto článku vám ukážeme, jak na to. seřadit tabulku v aplikaci Excel pomocí VBA .
Stáhnout pracovní sešit
Bezplatný cvičný sešit aplikace Excel si můžete stáhnout zde.
Třídění tabulky pomocí VBA.xlsm
Co je třeba vědět před implementací VBA pro třídění tabulky v aplikaci Excel
Existují některé parametry, které je třeba často používat při práci se systémem Třídit metoda VBA . Proto zde probereme některé parametry, abyste se s nimi při psaní kódu seznámili.
Parametr | Povinné/nepovinné | Typ dat | Popis |
---|---|---|---|
Klíč | Volitelně | Varianta | Určuje rozsah nebo sloupec, jehož hodnoty mají být seřazeny. |
Objednávka | Volitelně | XlSortOrder | Určuje pořadí, v jakém bude třídění provedeno.
|
Záhlaví | Volitelně | XlYesNoGuess | Určuje, zda první řádek obsahuje záhlaví, nebo ne.
|
4 metody implementace VBA pro třídění tabulky v aplikaci Excel
V této části se dozvíte, jak třídění tabulek aplikace Excel s ohledem na hodnota, barvy, ikony a více sloupců s VBA kód.
1. Vložení VBA pro řazení tabulky podle hodnoty v aplikaci Excel
Na následujícím příkladu seřadit tuto tabulku podle hodnot přítomné v Mark sloupce v sestupném pořadí.
Kroky:
- Tisk Alt + F11 na klávesnici nebo přejděte na kartu Vývojář -> Visual Basic otevřít Editor jazyka Visual Basic .
- Ve vyskakovacím okně kódu klikněte na panelu nabídek na možnost Insert -> Modul .
- Zkopírujte následující kód a vložte jej 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 nyní připraven ke spuštění.
Zde,
- SortTBL → Zadaný název tabulky.
- SortTBL[Marks] -> Zadaný název sloupce tabulky, který se má seřadit.
- Key1:=iColumn → Zadejte rozsah sloupců, aby kód věděl, který sloupec v tabulce má seřadit.
- Order1:=xlDescending → Zadáno pořadí jako xlSestupně pro seřazení sloupce v sestupném pořadí. Pokud chcete sloupec seřadit vzestupně, napište. xlAcending místo toho.
- Záhlaví:= xlYes → Protože sloupec v této tabulce má záhlaví, zadali jsme ho pomocí příkazu xlYes možnost.
- Tisk F5 na klávesnici nebo na panelu nabídek vyberte možnost Run -> Run Sub/UserForm . Můžete také kliknout na malá ikona Play na panelu podnabídek spustíte makro.
Uvidíte, že sloupec ve vaší tabulce je nyní seřazeno sestupně .
Další informace: Jak seřadit data podle hodnoty v aplikaci Excel (5 snadných metod)
2. Vložení makra VBA pro třídění tabulky pro více sloupců
Můžete také seřadit tabulku pro více sloupců v aplikaci Excel pomocí VBA makro.
Z výše uvedené tabulky seřadíme sloupce. Název a Oddělení ve vzestupném pořadí.
Kroky:
- Stejný způsob jako dříve, otevřít Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
- V okně kódu zkopírujte a vložte následující kód.
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 nyní připraven ke spuštění.
Zde,
- TableValue → Zadaný název tabulky.
- TableValue[Name] -> Zadaný název prvního sloupce tabulky, který se má seřadit.
- TableValue[Department] -> Zadaný název druhého sloupce tabulky, který se má seřadit.
- Key1:=iColumn1 → Zadejte rozsah sloupců, aby kód věděl, že je třeba seřadit první sloupec v tabulce.
- Key1:=iColumn2 → Zadejte rozsah sloupců, aby kód věděl, že je třeba seřadit druhý sloupec v tabulce.
- Order1:=xlAscending → Zadáno pořadí jako xlAcending pro seřazení sloupce v sestupném pořadí. Pokud chcete sloupec seřadit sestupně, pak napište xlSestupně místo toho.
- Záhlaví:= xlYes → Protože sloupce této tabulky mají záhlaví, zadali jsme je pomocí příkazu xlYes možnost.
- Spustit tento kód a získáte oba sloupce tabulky seřazené ve vzestupném pořadí.
Přečtěte si více: Jak automaticky třídit více sloupců v aplikaci Excel (3 způsoby)
Podobná čtení
- Jak řadit jedinečný seznam v aplikaci Excel (10 užitečných metod)
- Řazení pole pomocí Excel VBA (vzestupně i sestupně)
- Jak třídit a filtrovat data v aplikaci Excel (kompletní návod)
- Automatické třídění aplikace Excel při změně dat (9 příkladů)
- Náhodné třídění v aplikaci Excel (vzorce + VBA)
3. Implementace makra pro řazení tabulky podle barvy buněk v aplikaci Excel
Můžete také seřadit tabulku podle barvy buňky které obsahuje.
Na příkladu výše uvedené tabulky si ukážeme, jak ji seřadit podle barev, které tato tabulka obsahuje.
Kroky:
- Jak již bylo ukázáno dříve, otevřené Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
- V okně kódu zkopírujte a vložte následující kód.
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 nyní připraven ke spuštění.
Zde se RGB kódy, které jsme poskytli, můžete najít nebo jiné RGB požadovaný kód podle níže uvedeného gifu.
- Stačí kliknout na barevná buňka .
- V Home klikněte na kartu šipka vedle Barva výplně pak vyberte Více barev Uvidíte. RGB kódy v Vlastní karta se objevila Barvy vyskakovacího okna.
- Spusťte tento kód a vaše tabulka bude seřazeno podle barev .
Přečtěte si více: Jak třídit podle barvy v aplikaci Excel (4 kritéria)
4. Použití VBA pro řazení tabulky aplikace Excel podle ikony
Předpokládejme, že tabulka datového souboru má ikony pro lepší čitelnost. Můžete seřadit tabulka založená na ikonách v aplikaci Excel pomocí VBA makro.
Podívejte se na výše uvedený soubor dat. Zde jsou v tabulce vedle číselných hodnot uvedeny ikony. Marks sloupce, abychom mohli pochopit, který žák má dobré, špatné nebo průměrné výsledky.
Všimněte si, že pokud nevíte, jak vložit ikonu do buňky, můžete to jednoduše provést pomocí příkazu Podmíněné formátování v aplikaci Excel.
- Vyberte celý rozsah nebo sloupec.
- Přejít na Podmíněné formátování -> Sady ikon . Poté si z nabízených možností vyberte libovolné sady ikon.
Kroky k seřadit tabulku na základě ikon jsou uvedeny níže.
Kroky:
- Otevřít Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
- V okně kódu zkopírujte a vložte následující kód.
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 nyní připraven ke spuštění.
Zde,
- xl5Arrows -> Vybrali jsme sada 5 šipek z možnosti v Podmíněné formátování .
- Položka (1) -> Určeno první typ ikony šipky.
- Položka (2) -> Určeno druhý typ ikony šipky.
- Položka (3) -> Určeno třetí typ ikony šipky.
- Položka (4) -> Určeno čtvrtý typ ikony šipky.
- Položka (5) -> Určeno pátý typ ikony šipky.
- Spustit tento kód a tabulka bude seřazeno podle ikon .
Další informace: Jak automaticky seřadit tabulku v aplikaci Excel (5 metod)
Závěr
Tento článek vám ukázal, jak seřadit tabulku v aplikaci Excel VBA . doufám, že pro vás byl tento článek velmi přínosný. Pokud máte k tématu nějaké dotazy, neváhejte se zeptat.